ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Статья:Правильный подход к проектированию ПО
  #1  
Старый 17.12.2009, 13:05
[NiGHT]DarkAngel
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме:
812087

Репутация: 129
По умолчанию Статья:Правильный подход к проектированию ПО

Правильный подход к проектированию ПО(часть 1)


Введение

При разработке программного обеспечения мы не задумываемся о дальнейшей его судьбе. А что если:
• Придется масштабировать приложение
• Переносить его с Web-приложения на Windows Forms
Придется его полностью переписывать, заново строить архитектуру приложения, все это лишние трудозатраты. А ведь можно было просто изначально подумать над этим?
Вот отсюда и приходит тема этой статьи.

Начинаем проектировать

Для примера возьмем самую простую функцию в программе «Регистрация пользователей»

Она будет разбита на 4 проекта: Domain, Infrastructure,View и ViewModel

Поговорим о каждом из них в отдельности:
Domain – В этом проекте хранится вся бизнес логика программы (Entity and Services)
Infrastructure – В этом проекте хранятся все классы интерфейсов
View – В этом проекте хранится тот вид отображения проекта который вы захотите (Windows Forms или Web Application)
ViewModel – В этом проекте хранятся наши вспомогательные классы для связи Domain и View

Стоит оговорить следующие зависимости(Reference):
Domain видит Infrastructure
ViewModel видит Domain
View видит ViewModel, Infrastructure

В Domain существуют две папки Entity и Service

Теперь можно писать приложения все сущности складываются в Entity, все необходимые операции с ними в Service.

Во ViewModel складываются классы-прослойки, которые получают на вход данные, передают их на обработку сервисам, сервисы возвращают какой-то результат во ViewModel, а она возвращает View что сервис отработан успешно или нет и View выводит только результатирующие сообщение.

Вывод

Таким подходом мы смогли обеспечить легкую масштабируемость приложения, легкое внедрение новых сервисов для вашего приложения и безболезненный переход от Web Application на Windows Forms и обратно.

От автора

Это моя первая статья, если эта тема интересна, могу продолжить развития цикла статей, с подключением репозиториев при разработке,O/R NHibernate, и примерами подкрепленными кодом.
Пример ориентирован на C# и ASP.NET

P.S. Рад буду слышать любую критику и пожелания. Посмотрел вроде такой статьи нет.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Телефонные шалости: хакерский подход к IP-телефонии [Dead]Demon Статьи 0 22.11.2009 16:03
Википедия меняет подход к редактированию статей AlexTheC0d3r Мировые новости 2 26.01.2009 20:24
Распаковка. Общий подход. taha Авторские статьи 0 22.11.2006 14:48
Faq по проектированию Cms k00p3r Обсуждение Ваших сайтов 0 09.08.2005 09:49



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ