Читать книгу Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул онлайн


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


С помощью интерфейсов и абстрактных классов класс изолируется от конкретных подробностей.


Принцип обращения зависимостей: классы системы должны зависеть от абстракций, а не от конкретных подробностей.


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


Инициализация – область ответственности.


Код инициализации пишется системно и отделен от логики времени выполнения.


Удобные идиомы не ведут к нарушению модульности.


Приложение ничего не знает о main или о процессе конструирования.


Все аспекты конструирования помещаются в main или в модули, вызываемые из main.


Если момент создания объекта должен определяться приложением, то использовать паттерн «Фабрика».


Вся информация о конструировании хранится на стороне main.


Приложение изолировано от подробностей построения.


Использовать внедрение зависимостей Dependency Injection или обращение контроля Inversion of Control для отделения конструирования от использования.


Итеративная разработка – сегодня реализуем текущие потребности, а завтра перерабатываем и расширяем систему для реализации новых потребностей.


Архитектура программных систем может развиваться последовательно, если обеспечить правильное разделение ответственности.


Компонент-сущность (entity bean) – представление реляционных данных в памяти.


Применять АОП – модульные конструкции, называемые аспектами, определяют, в каких точках системы поведение должно меняться некоторым последовательным образом в соответствии с потребностями определенной области ответственности (изменения вносит инфраструктура без необходимости вмешательства в целевой код).


Посредники (proxies) хорошо подходят для простых ситуаций – вызова методов отдельных объектов или классов.


Использовать POJO-объекты.


DAO – Data accessor object – объект доступа к данным.