А нахера разработчику, который юзает твою бибу видеть постоянно эти методы, если они используются только в HFApp и никогда не должны быть доступны разработчику?
Концепция архитектуры в моем случае - это разработчик юзающий бибу не должен видеть что за ширмой, он не должен видеть методы, которые используются за ширмой
Возвращаемся теперь к кактусам, я бы мог внутри ModuleTestA создать публичный метод GetModuleTestB, который возвращает указатель на ModuleTestB который мы в AppInit получили, помнишь? На 15 строке я говорил
Щас объясню почему, это будет работать прекрасно, плагины модуля ModuleTestA смогут юзать его метод GetModuleTestB и успешно работать с указателем, но теперь к проблеме
У нас же есть другие классы модулей, которые так же могут получать указатели уже на наш класс ModuleTestA и что они увидят? ModuleTestB увидет метод GetModuleTestB и подумает, это че за дичь, зачем там метод, который указывает на меня же
Если GetModuleTestB в ModuleTestA классе имеется, то он должен быть виден только для этого класса и его плагинов, но не для других модулей, которые получают так же указатель на нас
Это во-первых, защита от дурачка, он не сможет вызвать методы,которые должны вызываться только изнутри самого класса (this), во-вторых, это повышает читабельность, потому что доступно только то, что задумано для юзабилити из текущей ситуаций