Как вы организуете конкретный код для одного или нескольких клиентов в вашем приложении? - PullRequest
3 голосов
/ 25 октября 2011

Когда вы внедряете специфичный для клиента код, как вы его организуете?

  1. Пишете ли вы if-Statements прямо в вашем коде?(если (клиент == 20), то бла-бла)
  2. У вас есть специальный dll, куда вы помещаете весь код для этого клиента?
  3. Вы программируете своего рода "пользовательские выходы", то есть именованные функции, которые могут быть перегружены в отдельной dll?
  4. Или вы используете для этого библиотеку / инфраструктуру?
  5. Или лучше?

1 Ответ

1 голос
/ 18 августа 2012

У решения if-Statement есть недостаток, заключающийся в том, что вам может потребоваться изменить код во многих местах для каждого нового клиента.Лучший способ - это инкапсулировать поведение, которое вы хотите изменить в интерфейсе, и затем позволить существующему коду делегировать задачу для экземпляра этого интерфейса.Затем проект готов для любого количества различных вариантов поведения.

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

Я бы порекомендовал вам взглянуть на книгу «Гибкое, надежное программное обеспечение: использование шаблонов».и Agile Development ".Он построен вокруг этого вопроса.

...