3

Мне нужно написать большую систему в январе с ASP.NET MVC3/C#, и вам нужно знать, как писать систему, которая будет РАБОТА. У меня есть некоторый опыт работы с ASP.NET MVC и C#, но я бы не назвал себя экспертом. Он должен быть расширяемым, чтобы я мог продлить его позже новыми функциями. Как это можно сделать? Есть ли книги, которые подробно объясняют эту тему или я должен использовать пробную версию и ошибку?Как написать хорошую архитектуру ядра для проекта в ASP.NET MVC

Вкратце мне нужно знать хорошую практику проектирования в моем коде, который расширяется в будущем.

С уважением RAVEN

Система будет портал сообщества с форумами рейтинги и т.д. Брус сказать больше, чем это < < Политика компании >>, форумы я могу управлять из-за изобилия вариантов с открытым исходным кодом ... Но все остальное зависит от меня.

+0

Мне также нужно написать системы, которые работают, попробуйте сообщить нам, какой тип системы – Woot4Moo 2010-11-24 19:24:40

+0

Не уверен, что именно вы спрашиваете, но этот вопрос может помочь вам: http: //stackoverflow.com/questions/656455/building-a- cms-in-asp-net-mvc, другой - http://stackoverflow.com/questions/325182/ideas-for-opensource-cms-in-asp-net-mvc – johnny 2010-11-24 19:25:59

+0

, вам обязательно нужен хороший архитектор! – Lorenzo 2010-11-24 19:28:48

ответ

2

Professional ASP.NET MVC 2 является хорошей отправной точкой, хотя я бы предположил, что они выйдут с изданием MVC 3. Учебник NerdDinner содержит много идей о том, как структурировать ваше приложение.

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

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

+0

Я обновил свой основной пост. Я вижу вашу точку зрения, но я боюсь сказать много. Политика компании - это боль. – RaVen 2010-11-24 19:37:37

5

Что касается базовой инфраструктуры/архитектурной архитектуры, то SharpArchitecture - хорошее место для начала. Это отнюдь не идеальное решение ... НО они дают вам хорошую основу для игры, и вы можете быстро работать с рабочей системой, изучая концепции, которые работают и не работают со временем. Взгляните и посмотрите, что вы думаете. Он использует NHibernate, Castle и MVC.

11

SOLID == Большой успех

Следуйте SOLID принципы в любом проекте, и вы будете делать хорошо.

1

Если это должно быть расширяемо, убедитесь, что вы пишите тесты. Вы сэкономите бессонные ночи в долгосрочной перспективе, когда вы что-то исправите, но закончили тем, что нарушили всю систему.

Как сделать вещи «РАБОТА» - это зависит от ваших способностей. Читайте и смотрите, чтобы улучшить ситуацию, но не попадайте в преждевременную оптимизацию, иначе она оставит вас мертвыми в воде.

3

Разработка, связанная с тестированием, обеспечит качество вашего проекта. Будьте строги с собой, красный зеленый рефрактор. Одна из сильных сторон MVC заключается в том, что ее легче протестировать.

0

Основываясь на ваших изменениях и возможностях, было бы разумнее выбрать CMS с открытым исходным кодом, написанный в ASP.NET MVC, и поддерживать его. Ваши навыки достаточно хороши, это звучит, чтобы научиться писать модули и быть частью более крупного сообщества. Вы не похожи на то, что действительно хотите написать все это, потому что вы робкие о своих навыках, крайних сроках и т. Д. Изучая все входы и выходы из хорошо написанного программного обеспечения, однажды вы можете написать свой собственный или внести свой вклад к основной части программного обеспечения. Есть несколько вариантов, чтобы выбрать мой комментарий выше по вашему вопросу.

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

0

WhoCanHelpMe хорошая ссылка приложений. Он построен на основе S#arp Architecture, который является хорошей отправной точкой для MVC-приложения, использующего дизайн, ориентированный на домен. Это также поможет вам на пути с проводкой IoC и db-stuff.

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

Вы также должны изучить MEF для расширяемости.