Для начала расскажем про отделение Microsoft, которое нравится мне больше всего.
Во-первых, потому что там работают реальные кабаны очень умные ребята. Во-вторых, потому что они делают действительно классные вещи, которые потом потихоньку переползают в Visual Studio.
Ну вы уже догадались, это Patterns & practices. Как следует из названия, отдел создан для того, чтобы обкатывать существующую платформу разработки Microsoft, реализуя под нее паттерны проектирования (только не надо понимать это как синглтон на C#), и разрабатывая подходы к архитектуре приложений.
Естественно, что эти вопросы возникают когда какая-либо компания собирается писать монстрообразное корпоративное приложение, на котором будут работать сотни и тысячи человек, которое будет писаться и поддерживаться как минимум лет десять, и в котором очень и очень все наворочено. Такие приложения принято называть "корпоративными". Я буду их называть монстрами:-)
Если в обычных своих программах вы можете позволить дублирование кода и несколько непродуманный подход к архитектуре - то в наших монстрах такие ошибки чреваты огромными финансовыми потерям: требования меняются постоянно и обильно, и архитектура должна учитывать всевозможные причуды: сегодня им подавай тонкого клиента, а завтра нужен уже толстый; сегодня они работали с одним сервером, а тут уже нужно много, сегодня у них одна система финансового учета, а завтра другая ну и так далее.
Чем дальше - тем больнее будут исправления.
Поэтому в Микрософте приняли решение разработать платформу (шаблон, прототип, ...) для таких приложений, чтобы ее можно было использовать.
Разработка эта опенсорсная и бесплатная. Поэтому контора, которая решила пользоваться именно ей, может ее заточить под себя.
Кроме того, моим любимым отделением выпускается куча всякого мануала, про то как правильно проектировать приложения.
Итак, что же на сегодняшний день есть в наличии:
- Enterprise Library. Это мега-вещь, в которой собрана куча "блоков", которые есть у каждого приложения и писать которые лень.
- Smart Client Software Factory, Web Client Software Factory. Тоже мега вещи. Шаблоны очень очень модульных соответственно десктопных и веб- корпоративных приложений.
- Находящаяся в разработке App Arch Guide, распечатка которой должна быть расклеена вместо икон в кабинетах архитекторов:-).
Ну и еще куча всего.
В ближайшие посты я начну рассказывать более подробно про эти разработки или выложу переводы App Arch Guide. Посмотрим:-)