Similar presentations:
Особенности разработки сложных программных систем
1. Особенности разработки сложных программных систем
2.
К О Н С ТА Н Т И Н К О С Т Р И Ц К И Й.Net Developer
• Прошел .Net курс тренинг центра
ЕПАМ
• Работаю в компании Епам 4.5 года.
• Был разработчиком на проектах
Касперского, Билайн, РосГосСтрах
2
3. Главные отличия небольших проектов
• Отсутствие четкой структуры процесса разработки• Отсутствие документации
• Отсутствие строгих сроков этапов разработки
• Отсутствие peer review
• Нечеткие роли людей в команде
• Отсутствие требований к CodeStyle
4. Инструменты разработки
• Системы управления версиями (Git, SVN, Mercurial)• Системы отслеживания ошибок (Jira, TFS, Trello)
• Системы непрерывной интеграции (TeamCity, Bamboo, Jenkins)
5. Архитектура приложения
56. Паттерны проектирования
«uses»• Порождающие
• Abstract factory
AbstractFactory
Controller
+CreateProductA()
+CreateProductB()
«uses»
«uses»
AbstractProductA
• Структурные
• Adapter
• Façade
ConcreteFactory1
ConcreteFactory2
+CreateProductA()
+CreateProductB()
+CreateProductA()
+CreateProductB()
ConcreteProductA1
ConcreteProductA2
«uses»
«uses»
AbstractProductB
• Поведенческие
• Strategy
ConcreteProductB1
ConcreteProductB2
6
7. Принципы разработки
• KISS (Keep it short and simple)• YAGNI (You aren't gonna need it)
• DRY (Don’t repeat yourself)
• SOLID
7