Каковы условия написания классов в этой моде? - PullRequest
0 голосов
/ 30 августа 2018

Допустим, у меня есть преобразователи записи (например, слой представления данных ) таким образом, что использование выглядит следующим образом (с использованием синтаксиса PHP):

A: $userTransformer может использоваться для разных пользователей, вроде помощника.

$userTransformer->transform($user) // Выводит данные пользователя для веб-страницы

B: $userTransformer специально для одного пользователя.

$userTransformer->transform() // Тот же вывод пользователя

Существуют ли термины, описывающие способы конструирования этих классов трансформаторов? A не имеет никакой зависимости во время создания экземпляра, тогда как B требует создания экземпляра $user. Лично я предпочитаю B, и я пытаюсь найти литературу по этому поводу.

1 Ответ

0 голосов
/ 31 августа 2018

На языке UML рассмотрим разницу между зависимостью и ассоциацией .

Зависимость:

$userTransformer->transform($user) // user is just a method argument

Ассоциация:

$userTransformer->transform() // user is a class field

Существует две формы ассоциации: агрегация и состав . Лично, при разработке классовых отношений, я думаю в терминах «сила отношений», где:

зависимость <агрегация <состав </p>

...