Как разложить систему на модули? - PullRequest
3 голосов
/ 24 апреля 2009

Эффективность «модульности» зависит от критериев, используемых при разделении системы на модули.

Я хочу предложить несколько критериев, которые можно использовать при разложении системы на модули.

Ответы [ 4 ]

5 голосов
/ 24 апреля 2009

Сплоченность : функциональность в модуле связана.

Низкая связь : у вас есть минимальные зависимости между модулями.

Скоординированный жизненный цикл: изменения в функциональности внутри модуля, как правило, происходят одновременно. Обычно это следствие высокой сплоченности.

2 голосов
/ 24 апреля 2009

Я думаю, что принцип единой ответственности был бы хорошим руководством. Попытайтесь определить обязанности для каждого модуля и заставить каждый модуль нести ответственность за свое дело.

См. http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

1 голос
/ 23 сентября 2011

Это очень старый вопрос.

  • Модуль - это рабочее задание программиста или группы программистов. Это также единица изменения.
  • Низкая связь и когезия являются показателями для оценки качества взаимосвязей между модулями, но они бесполезны для декомпозиции.
  • Разложение должно быть выполнено с использованием " скрытия информации " в качестве критерия.
  • Введение с примерами и описанием процесса на основе принципа «сокрытия информации»: http://www.sqrl.ul.ie/Downloads/Lecture2.pdf.
  • Уровень техники в этом вопросе - тема линейки программных продуктов.
1 голос
/ 14 августа 2010

Интересное чтение тоже: http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf

...