Должен ли я иметь одну DLL или несколько для бизнес-логики? - PullRequest
0 голосов
/ 16 июня 2010

В моей ситуации моя компания обслуживает много типов клиентов.Практически каждому клиенту нужна своя бизнес-логика.Конечно, будет базовый уровень, от которого должна наследоваться вся бизнес-логика.Тем не менее, я собираюсь взяться и спроектировать эту архитектуру - либо в одной dll для всех клиентов, либо в одной dll для каждого.

Моя самая большая проблема состоит в обновлении программного обеспечения.У нас около 12 сотрудников по вводу данных, которые работают с 20 компаниями, и очень важно, чтобы у них было мало простоев.Меня беспокоит то, что если я разверну все в одной dll, я мог бы внести ошибку в логику компании A, намереваясь только обновить логику компании B.Я полагаю, что мог бы снизить риск, если бы логика каждой компании имела свои собственные dll, поэтому я мог бы развернуть обновление компании B без вреда для компании A.- Я буду единственным, кто поддержит это.

Тем не менее, это также похоже на кошмар для управления 20 различными .dll - это только для BLL.Мне также нужно создать слой View и слой ViewModel.Так что потенциально у меня может быть 20 (компаний) * 3 (слоев), что будет равно 60 .dll.

Спасибо.

1 Ответ

0 голосов
/ 16 июня 2010

Если «клиент на первом месте», то вы должны уменьшить вероятность ошибки в коде одного клиента, затрагивающей другого клиента. Поэтому больше DLL. Однако вы можете взглянуть на сохранение головной боли: действительно ли необходимо разделить бизнес-логику, слой представления и слой представления модели на разные сборки? Конечно, вы хотите разделить код на несколько уровней для обслуживания, но есть ли веская причина для того, чтобы логическое разделение файлов перешло в раздел физических сборок / DLL?

...