FAQ по форуму Архитектура приложений
Терминология
1. Паттерны (шаблоны) проектирования
2. Слои, уровни, звенья...
3. Определение архитектуры ПО
Рекомендовано к прочтению
1. Мартин Фаулер: Проектирования больше нет?
2. Алистер Коуберн: Каждому проекту своя методология
Ресурсы
1. Ресурсы от Майкрософт
2. Мартин Фаулер
3. Ресурсы по паттернам проектирования
4. Рон Джеффриз
5. Алистер Коуберн
6. Refactoring Home Page
FAQ по форуму Архитектура приложений
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
FAQ по форуму Архитектура приложений
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Паттерны (шаблоны) проектирования
Паттерны проектирования - это описание правильного решения задач проектирования (как правило паттерны создают для часто встречающихся задач).
Польза паттернов как подхода очевидна - это повторное использование решения, что полезно столь же как и повторное использование кода. Вы можете сами конструировать паттерны или пользоваться опубликованными.
В чем польза опубликованных паттернов:
1. Повторное использование (как и для собственных паттернов).
2. Эффективное решение задачи (признанное экспертами или сообществом).
3. Возможность общаться на языке паттернов. Хотя, ИМХО, это на любителя
Комментарии (из серии "без фанатизма"):
1. Повторно используя некий паттерн, иногда полезно задуматься -а стоит ли использовать здесь именно такой подход?
2. Паттерны решают абстрактные задачи. Для конкретной задачи может существовать другое, более эффективное во всех смыслах решение. Скажем так, для большинства ситуаций решение с помощью паттерна или его небольшой адаптации, как правило, эффективнее.
3. Не стоит чрезмерно увлекаться использованием паттернов при обсуждении деталей, особенно если не знаешь наверняка, что собеседник понимает, что значит каждый из них. Это может наоборот привести к непониманию (тем более что есть люди, которые по складу характера будет просто кивать и соглашаться ).
Паттерны проектирования - это описание правильного решения задач проектирования (как правило паттерны создают для часто встречающихся задач).
Польза паттернов как подхода очевидна - это повторное использование решения, что полезно столь же как и повторное использование кода. Вы можете сами конструировать паттерны или пользоваться опубликованными.
В чем польза опубликованных паттернов:
1. Повторное использование (как и для собственных паттернов).
2. Эффективное решение задачи (признанное экспертами или сообществом).
3. Возможность общаться на языке паттернов. Хотя, ИМХО, это на любителя
Комментарии (из серии "без фанатизма"):
1. Повторно используя некий паттерн, иногда полезно задуматься -а стоит ли использовать здесь именно такой подход?
2. Паттерны решают абстрактные задачи. Для конкретной задачи может существовать другое, более эффективное во всех смыслах решение. Скажем так, для большинства ситуаций решение с помощью паттерна или его небольшой адаптации, как правило, эффективнее.
3. Не стоит чрезмерно увлекаться использованием паттернов при обсуждении деталей, особенно если не знаешь наверняка, что собеседник понимает, что значит каждый из них. Это может наоборот привести к непониманию (тем более что есть люди, которые по складу характера будет просто кивать и соглашаться ).
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Вопрос
Слои, уровни, звенья...Существует ли разница между слоями и уровнями?
Ответ
Многие не делают различий между этими названиями. И оказываются не совсем правы
Я придерживаюсь позиции, которую озвучили несколько лет назад на конференции в Москве Стив Шварц и Клеменс Вастерс.
Слой (layer) - это организация по смыслу (или, если хотите, функционалу).
Уровень (tier) - это организация по физическому размещению (конкретные компьютеры или их наборы). Некоторые считают границей уровня границу процесса (это уже, скорее, дело вкуса).
Таким образом, можно выделять слои доступа к данным, бизнес логики, представления. А уровни - БД, сервера приложения, клиентский.
При этом, с одной стороны,один слой может быть распределен по нескольким уровням (например, слой представления для ASP.NET приложения относится к уровням и web-сервера и клиента). С другой стороны, несколько слоев могут быть сосредоточены на одном уровне. Например, в некоторых приложениях и бизнес-логика и слой доступа к данным могут располагаться на web-сервере (более того, в рамках одного процесса).
P.S. Термин "звено" я считаю скорее отечественной выдумкой Лично я предпочитаю "слои" и "уровни", хотя если кому-то удобнее пользоваться "звеньями"...
Слои, уровни, звенья...Существует ли разница между слоями и уровнями?
Ответ
Многие не делают различий между этими названиями. И оказываются не совсем правы
Я придерживаюсь позиции, которую озвучили несколько лет назад на конференции в Москве Стив Шварц и Клеменс Вастерс.
Слой (layer) - это организация по смыслу (или, если хотите, функционалу).
Уровень (tier) - это организация по физическому размещению (конкретные компьютеры или их наборы). Некоторые считают границей уровня границу процесса (это уже, скорее, дело вкуса).
Таким образом, можно выделять слои доступа к данным, бизнес логики, представления. А уровни - БД, сервера приложения, клиентский.
При этом, с одной стороны,один слой может быть распределен по нескольким уровням (например, слой представления для ASP.NET приложения относится к уровням и web-сервера и клиента). С другой стороны, несколько слоев могут быть сосредоточены на одном уровне. Например, в некоторых приложениях и бизнес-логика и слой доступа к данным могут располагаться на web-сервере (более того, в рамках одного процесса).
P.S. Термин "звено" я считаю скорее отечественной выдумкой Лично я предпочитаю "слои" и "уровни", хотя если кому-то удобнее пользоваться "звеньями"...
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Определение архитектуры ПО
Вообще говоря, понятие довольно расплывчатое и обычно каждый трактует его по-своему
Варианты определений есть, в частности,в wiki на английском (более подробный) и русском языках.
Вообще говоря, понятие довольно расплывчатое и обычно каждый трактует его по-своему
Варианты определений есть, в частности,в wiki на английском (более подробный) и русском языках.
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Мартин Фаулер: Проектирования больше нет?
Очень хорошая статья о разнице между предварительным и эволюционным проектированием, методологии XP и некторых других интересных вещах.
Есть англоязычный и русскоязычный варианты.
Очень хорошая статья о разнице между предварительным и эволюционным проектированием, методологии XP и некторых других интересных вещах.
Есть англоязычный и русскоязычный варианты.
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Алистер Коуберн: Каждому проекту своя методология
Очень, на мой взгляд, правильная статья о выборе методологии для разработки.
Есть англоязычный и русскоязычный варианты.
Очень, на мой взгляд, правильная статья о выборе методологии для разработки.
Есть англоязычный и русскоязычный варианты.
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Ресурсы от Майкрософт
Ресурсы от Майкрософт, относящиеся к архитектуре приложений и рекомендациям по написанию приложений.
MSDN Solution Architecture Center(RSS)
Microsoft patterns & practices(RSS)
- два основных портала, посвященных архитектуре. Публикуются интересные статьи, информация о чатах, есть полезные ссылки на другие ресурсы.
Ресурсы от Майкрософт, относящиеся к архитектуре приложений и рекомендациям по написанию приложений.
MSDN Solution Architecture Center(RSS)
Microsoft patterns & practices(RSS)
- два основных портала, посвященных архитектуре. Публикуются интересные статьи, информация о чатах, есть полезные ссылки на другие ресурсы.
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Мартин Фаулер
Сайт Мартина Фаулера (Bliki, RSS)
Весьма уважаемый мной автор. Мало того, что его книги и статьи кладезь полезной информации, от чтения многих из них просто получаешь удовольствие
Ссылки на книги есть на вышеупомянутом сайте. Здесь приведу ссылки только на те две книги, которые, IMHO, обязательно нужно прочитать всем, кто имеет отношение к разработке ПО:
Refactoring: Improving the Design of Existing Code(Рефакторинг: улучшение существующего кода)
Patterns of Enterprise Application Architecture(Архитектура корпоративных программных приложений)
Сайт Мартина Фаулера (Bliki, RSS)
Весьма уважаемый мной автор. Мало того, что его книги и статьи кладезь полезной информации, от чтения многих из них просто получаешь удовольствие
Ссылки на книги есть на вышеупомянутом сайте. Здесь приведу ссылки только на те две книги, которые, IMHO, обязательно нужно прочитать всем, кто имеет отношение к разработке ПО:
Refactoring: Improving the Design of Existing Code(Рефакторинг: улучшение существующего кода)
Patterns of Enterprise Application Architecture(Архитектура корпоративных программных приложений)
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Вопрос
Ресурсы по паттернам проектирования
Ответ
На ru.wikipedia.org:
Шаблоны проектирования
На dotfactory.com (posted by eisernWolf):
Design Patterns in C# and VB.NET
Ресурсы по паттернам проектирования
Ответ
На ru.wikipedia.org:
Шаблоны проектирования
На dotfactory.com (posted by eisernWolf):
Design Patterns in C# and VB.NET
Всё что мы видим, это лишь иллюзия...
-
- Основатель клуба
- Сообщения: 72
- Зарегистрирован: 06 дек 2010, 11:53
- Откуда: г.Москва
- Контактная информация:
Re: FAQ по форуму Архитектура приложений
Рон Джеффриз
Сайт Рона Джеффриза, посвященный методологии XP.
Книга: XP в примерах на C#
Posted by eisernWolf.
Сайт Рона Джеффриза, посвященный методологии XP.
Книга: XP в примерах на C#
Posted by eisernWolf.
Всё что мы видим, это лишь иллюзия...
Вернуться в «FAQ по форуму Архитектура приложений»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей