базы данных, решено использовать шаблон Table Data Gateway (Шлюз таблицы
данных), не надо включать еще один шаблон, скажем, Repository (Хранилище),
использующий другую парадигму доступа к данным и инициализации бизнес-
сущностей. Однако для задач с более широким диапазоном требований может
потребоваться применить разные шаблоны, например, для приложения,
включающего поддержку бизнес-транзакций и составления отчетов.
Не дублируйте функциональность в приложении. Та или иная функциональность
должна обеспечиваться только одним компонентом, ее дублирование в любом
другом месте недопустимо. Это обеспечивает связность компонентов и упрощает их
оптимизацию в случае необходимости изменения отдельной функциональной
возможности. Дублирование функциональности в приложении может усложнить
реализацию изменений, снизить понятность приложения и создать потенциальную
возможность для несогласованностей.
Предпочитайте композицию наследованию. По возможности, для повторного
использования функциональности применяйте композицию, а не наследование,
потому что наследование увеличивает зависимость между родительским и
дочерними классами, ограничивая, таким образом, возможности повторного
использования последних. Это также будет способствовать уменьшению глубины
иерархий наследования, что упростит работу с ними.
Применяйте определенный стиль написания кода и соглашение о присваивании
имен для разработки. Поинтересуйтесь, имеет ли организация сформулированный
стиль написания кода и соглашения о присваивании имен. Если нет, необходимо
придерживаться общепринятых стандартов. В этом случае вы получите
единообразную модель, все участники группы смогут без труда работать с кодом,
написанным не ими, т.е. код станет более простым и удобным в обслуживании.
Обеспечивайте качество системы во время разработки с помощью методик
автоматизированного QA
. Используйте в процессе разработки модульное
тестирование и другие методики автоматизированного Анализа качества (Quality
Analysis), такие как анализ зависимостей и статический анализ кода. Четко
определяйте показатели поведения и производительности для компонентов и
подсистем и используйте автоматизированные инструменты QA в процессе
разработки, чтобы гарантировать отсутствие неблагоприятного воздействия
локальных решений по проектированию или реализации на качество всей системы.
Учитывайте условия эксплуатации приложения. Определите необходимые ИТ-
инфраструктуре показатели и эксплуатационные данные, чтобы гарантировать
эффективное развертывание и работу приложения. Приступайте к проектированию
компонентов и подсистем приложений, только имея ясное представление об их
индивидуальных эксплуатационных требованиях, что существенно упростит общее
развертывание и эксплуатацию. Использование автоматизированных инструментов
Quality Assurance – контроль качества (прим. технического редактора).