Классы POCO и принцип стабильной абстракции

При расчете индекса абстракции, определяемого как A = Na / Nb, где (Na — количество интерфейсов и абстрактных классов, где Nb — количество конкретных классов), как следует учитывать классы POCO?

Эти классы не реализуют никакой логики, а являются только контейнерами для данных.

Риск заключается в том, что библиотека с большим количеством POCO будет оценена очень низко в классах абстракции, но не реализует никакой логики.


person Davide Melfi    schedule 10.06.2019    source источник


Ответы (1)


Даже если объект не содержит никакой логики, он может быть очень конкретным. На самом деле, если вы думаете об объектах передачи данных, которые передают данные для конкретного варианта использования (например, запрос ContactFormRequest, отправленный со страницы контактов веб-сайта), или DTO, которые содержат данные источника данных (например, CustomerAddress, представляющий строку таблицы базы данных), эти объекты очень конкретны с точки зрения бизнес-правил и предполагаемого использования. Изменение требований может легко повлиять на такие объекты.

Эти объекты скорее следует считать Nb в приведенной выше формуле.

person plainionist    schedule 19.06.2019