Поддержка PHP Addon N no классов наконец распространяется на один класс - PullRequest
0 голосов
/ 05 марта 2012

Я работаю над проектом с открытым исходным кодом.

Мой код должен поддерживать функции дополнений.

У меня есть от 6 до 7 классов обработки клиентов, которые в итоге расширяются до одного класса, называемого «клиенты»

class client1{}

class client2 extends client1{}//contacts

class client3 extends client2{}//files

...

class clients extends client9{}//msging

Это неправильный способ. (Все еще находить лучший способ)

Этот скрипт должен поддерживать дополнения. Скажем один аддон с несколькими классами

class clientUserManagement{}

Тогда это должно быть управляемо в

class clients{}

Каждый класс обрабатывает разные области клиентской системы. Прямо сейчас расширяя весь класс до одного класса. Используя method_exist (), вызывая требуемую функциональность.

Важно

  • Эти классы не имеют общего атрибута.
  • Все связанные с клиентом функции должны быть сгруппированы по типу в отдельные файлы.
  • Если все классы наконец-то контролируются под одним именем классов, то с помощью метода method_exist () будет безопасно запускать только связанные с клиентом функции.

Какой способ лучше структурировать, чтобы он поддерживал дополнительные функции.

1 Ответ

0 голосов
/ 05 марта 2012

Вы должны разделить вещи до функциональности encapsualte и затем заставить классы взаимодействовать друг с другом.Я бы также абстрагировал базовые вещи от более общих классов, которые будут использоваться в других местах.

Клиент

  • имеет коллекцию контактов - ClientContactCollection
  • имеет коллекциюФайлы - ClientFileCollection
  • имеет коллекцию сообщений - ClientMessageCollection

ClientContact

  • расширяет общий контакт

ClientFile

  • расширяет универсальный файл

ClientMessage

  • расширяет универсальное сообщение
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...