Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемМарианна Бахорина
1 Прагматический подход к разработке гибких программных систем Степан Родионов twitter.com/rodionovstepan Вторая конференция.NET разработчиков
2 Ортогональность
3 Неортогональная система
4 Что дает ортогональность? Разбиение системы на независимые модули
5 GRASP (General Responsibility Assignment Software Patterns) High cohesion Low coupling
7 Демонстрация
8 Вспомогательные практики Закон Деметры Принцип DRY Принцип «Говори, а не спрашивай» Принципы SOLID И прочие…
9 Демонстрация
10 Поднимаемся выше Класс Компонент Система
11 Принципы проектирования компонентов Принципы связанности компонентов Принципы сцепленности компонентов
12 Reuse/Release Equivalence Principle Common Reuse Principle Common Closure Principle
13 Acyclic Dependencies Principle В графе зависимостей между компонентами не должно быть циклов
14 Ациклический граф Application Message BoxTasks File FormatsDialogs Windows XML Format
15 Циклический граф Application Message BoxTasks File FormatsDialogs Windows XML Format
16 Применение DIP Dialogs Application Class A Class B Application Class B A A Server
17 Введение нового компонента Application Message BoxTasks File FormatsDialogs Windows XML Format New
18 Stable-Dependencies Principle Зависимости должны быть направлены в сторону устойчивости
19 Устойчивость A Устойчивый компонент B Неустойчивый компонент
20 Метрика устойчивости
21 Компоненты с разной устойчивостью Неустойчивый (S = 0) Неустойчивый (S = 0) Устойчивый (S = 1) S = 0.75 S = 0.25 Идеальная схемаНарушение SDP Stable Flexible
22 Решение проблемы U Stable (S = 0.75) V Flexible (S = 0.25) U Stable V Flexible IU U Interface (S = 1)
23 Stable-Abstractions Principle Компонент должен быть столь же абстрактным, сколь и устойчивым
24 Главная последовательность (0,0) (1,0) (0,1) 1 - S A (1,1) Зона неприятностей Зона бесполезности d(K) = |A(K) – S(K)|
25 Применение d t
26 NDepend
27 Демонстрация
28 Ресурсы Инфраструктура NHibernate + UnitOfWork Принципы OOD NDepend OO Design Quality Metrics
29 Книги
30 Спасибо за внимание Степан Родионов
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.