Допустим, у меня есть приложение, которое на 80% сложнее бизнес-логики и на 20% CRUD, или наоборот.
В прошлом я использовал какой-то шаблон команд и имел классы, такие как ComplexFooCMD
или EvenMoreComplexBarCMD
, но всегда заканчивался набором InsertFoo
, UpdateFoo
, DeleteFoo
и SelectFoosCMD
и несколько из UpdateSomeValuesOfFoo
или SelectSomeFoos
. Все они жили в БЛЛ.
Недавно в менее сложных приложениях бизнес-логики я использовал шаблон службы с классами, такими как FooService
, но они также содержат ожидаемые insertFoo
, updateFoo
и selectSomeFoo
. Наличие этих методов в каждом сервисе или даже наличие сервисов, которые существуют только для представления этих методов на уровне представления, ощущается как большой код базовой платы.
Существует ли какой-либо шаблон, который подходит как для части CRUD, так и для остальной части приложения, или я должен использовать разные шаблоны для разных частей приложения?