Эти классы слишком детализированы? [закрыто]Javascript

Форум по Javascript
Anonymous
Эти классы слишком детализированы? [закрыто]

Сообщение Anonymous »

Я всегда застреваю в вопросах дизайна.
У меня есть класс-посредник, который размещает заказ от клиента. Он получает другие классы обслуживания в качестве зависимостей, каждый из которых имеет методы обслуживания, которые вызывают методы DAO и взаимодействуют с данными, возвращаемыми в классе обслуживания. Как вы можете видеть по именам моих классов, это довольно детализированные CartCheckoutService и CartProductGetterServcie, а не CartService (который будет содержать все методы, относящиеся к корзине).
Они настолько детализированы, что CartProductGetterService имеет метод для получения продукта по идентификатору, который вызывает метод DAO, содержащий мой SQL, однако, если бы я хотел получить продукт по другому полю, то на этом этапе Я бы рассмотрел возможность создания нового детального класса обслуживания, такого как CartProductDesecriptionService.
Я считаю, что слишком много обдумываю, просто чтобы попытаться предотвратить нарушение принципа разделения интерфейса, когда посредник не должен получать класс, у которого есть методы, которые посреднику не нужны.
Вместо этого я должен иметь CartService и передать CartService любому посреднику, которому нужно вызвать метод из CartService? Если я это сделаю, класс просто станет оболочкой моего DAO и не станет очень сплоченным классом. Или мне следует использовать какую-то гибридную версию? Вот мой код:
const orderPlacerMediator = new OrderPlacerMediator(
new CartCheckoutService(
new CartProductGetterService(
CartDAO,
req.session.shopUserId,
connection
),
CartDAO
),
new OrderPlacerService(
OrderDAO,
req.session.shopUserId
)
);


Подробнее здесь: https://stackoverflow.com/questions/798 ... o-granular

Вернуться в «Javascript»