Разработка архитектуры кода приложения
Posted in Development on March 27th, 2008 by Yaroslav Vorozhko – Be the first to comment
Привет!
Если вы уже определились с целью проекта и написали список требований, то пора приступать к разработке архитектуры вашего проекта.
Следующие контрольных список советов поможет вам правильно составить архитектуру вашего сайта, при чем речь идет больше о коде приложения, чем об общей структуре, но думаю правила для общего случаю будут очень похожи.
Итак приступим:
- Ориентируйтесь на правило 80/20: описывайте 20% процентов классов, которыми на 80% определяется поведение системы.
- Прямой доступ к данным обычно следует предоставлять одной подсистеме или классу. Не надо вставлять sql запросы в шаблоны :)
- Архитектура должна быть модульной, чтобы GUI можно было изменить, не затронув бизнес-правил и модулей программы, отвечающих за вывод данных.
- Архитектура должна определять подход к безопасности системы на уровне кода. Если модель угроз до сих пор не разработана, это следует сделать при проектировании архитектуры.
- Масштабируемостью называется возможность системы адаптироваться к росту требований. Архитектура должна описывать, как система будет реагировать на рост числа пользователей, серверов, сетевых узлов, записей в БД, транзакций и т.д. Если развитие системы не предполагается и ее масштабируемость не играет роли, это должно быть явно указано в архитектуре.
- Основной проблемой характерной для крупных систем, является поддержка ее концептуальной целостности – архитектура должна быть концептуально целостной, ничего лишнего и все на своем месте.
- Хорошая архитектура должна соответствовать проблеме.
- В архитектуре должны быть обоснованы важнейшие принятые решения.
- Архитектура должна включать описание системы с разных точек зрения.
Возможно стоило бы включить в этот список и такие важные для архитектуры пункты как:
- Ввод-вывод
- Организация данных
- Бизнес правила
- Производительность
- Взаимодействие с другими системами
- … и т. д.
список можно продолжить в комментариях..:)
Если не будет проведено хоть какое-нибудь проектирование архитектуры, то во время написания кода вы можете решать верную проблему неверным способом. По мере написания кода для неверной архитектуры цена изменений архитектуры возрастет, так что перед началом программирования вы должны проверить и правильность архитектуры.
