Есть ли термин для «обрабатывающего» объекта? (Не совсем заводской объект)

Термин фабрика применяется к объектам, которые создают и возвращают объекты.

Есть ли термин для классов, которые изменяют другие объекты и возвращают этот измененный объект? Я искал такие термины, как «Процессоры» и «Модификаторы», но не нашел многого (кроме модификаторов доступа).

У меня есть много вспомогательных классов, и я хотел бы использовать правильную терминологию, если это возможно, для описания всех этих «обрабатывающих» классов. например filterProcesser, layoutProcesser и т. д.


person Aggressor    schedule 03.10.2014    source источник
comment
"Процессор" звучит хорошо для меня. «Трансформатор» или «Конвертер» могут работать, в зависимости от того, что они делают.   -  person Boann    schedule 03.10.2014
comment
Трансформация настолько распространена в локациях, что я хотел держаться подальше от этого. Конвертер звучит так, как будто он превращает его во что-то другое.   -  person Aggressor    schedule 03.10.2014
comment
Процессор - это не слово, это процессор. Я бы дошел до того, что записал все классы на листе бумаги и написал под каждым, какие изменения они производят. Это может прояснить для вас ситуацию.   -  person Pithikos    schedule 03.10.2014


Ответы (1)


Если ваш метод изменяет объект, он не должен возвращать значение. Если ваш метод возвращает значение, то он не должен ничего изменять. Вот что такое CQS. о

Когда вы изменяете другой объект, вы выполняете команду. Для таких методов уже существует терминология — они называются Контроллеры.

есть термин для классов, которые изменяют другие объекты и возвращают этот измененный объект?

Итак, как вы уже знаете, это нарушает работу CQS, поскольку они также возвращают объект.

Но если вы все еще настаиваете, нет ничего плохого в соглашениях об именах, пока они не нарушают POLS (имена должны точно указывать на то, что они делают)

Кроме того, имейте в виду, что хорошие методы должны быть небольшими и делать только одну вещь.

person Yang    schedule 03.10.2014
comment
Спасибо за ссылку, я не знал о них, я собираюсь прочитать их! - person Aggressor; 03.10.2014