Telegram Group & Telegram Channel
Отзыв на книгу Gang of Four Design Patterns

Последние годы я читаю фундаментальные книги по программированию. Убежден, что многие мои профессиональные навыки и заслуги складывались из них. Одна из первых таких книг была “паттерны объектно-ориентированного программирования”.

Я часто не понимал, почему Java библиотека написана так, как написана. Не понимал код старших программистов. Как разбивать мой код на сущности и классы. И самое главное — как комбинировать мои классы эффективно. Эффективно — значит решать мою задачу и не перепроектировать классы при внесении изменений:
- не зависеть от конкретных реализаций;
- не зависеть от аппартной или программной платформы;
- уменьшать связанность;
- иметь удобство при изменении классов.

Наибольшее впечатление на меня произвела глава про структурные паттерны: адаптер, декоратор, прокси и мост. Она показала мне, как из классов и объектов выстраиваются более крупные структуры. Например, без этой книги я бы в жизни не спроектировал такой API из java библиотеки:

new DataInputStream(new BufferedInputStream(new FileInputStream("example.txt")));


Самое интересное, что эти паттерны невероятно схожи. Например, взгляните на паттерны Декоратор и Прокси. По большому счету с точки зрения использования наследования и композиции в них вообще нет разницы! Скорее всего, это объясняется тем, что все структурные паттерны основаны на небольшом множестве языковых механизмов структурирования кода и объектов (наследование / композиция).

И я в тот же день внедрил пару паттернов в код для проектирования взаимодействия с AccountManager, о котором писал выше:

val repository = AMRepositoryProxy(
delegate = AMEncryptionDecorator(
delegate = AMRepositoryImpl(
accountManager = AccountManager.get(appContext)
)
),
isEnabled = { isEnabledInternal(appContext) }
)



group-telegram.com/artrblog/31
Create:
Last Update:

Отзыв на книгу Gang of Four Design Patterns

Последние годы я читаю фундаментальные книги по программированию. Убежден, что многие мои профессиональные навыки и заслуги складывались из них. Одна из первых таких книг была “паттерны объектно-ориентированного программирования”.

Я часто не понимал, почему Java библиотека написана так, как написана. Не понимал код старших программистов. Как разбивать мой код на сущности и классы. И самое главное — как комбинировать мои классы эффективно. Эффективно — значит решать мою задачу и не перепроектировать классы при внесении изменений:
- не зависеть от конкретных реализаций;
- не зависеть от аппартной или программной платформы;
- уменьшать связанность;
- иметь удобство при изменении классов.

Наибольшее впечатление на меня произвела глава про структурные паттерны: адаптер, декоратор, прокси и мост. Она показала мне, как из классов и объектов выстраиваются более крупные структуры. Например, без этой книги я бы в жизни не спроектировал такой API из java библиотеки:

new DataInputStream(new BufferedInputStream(new FileInputStream("example.txt")));


Самое интересное, что эти паттерны невероятно схожи. Например, взгляните на паттерны Декоратор и Прокси. По большому счету с точки зрения использования наследования и композиции в них вообще нет разницы! Скорее всего, это объясняется тем, что все структурные паттерны основаны на небольшом множестве языковых механизмов структурирования кода и объектов (наследование / композиция).

И я в тот же день внедрил пару паттернов в код для проектирования взаимодействия с AccountManager, о котором писал выше:

val repository = AMRepositoryProxy(
delegate = AMEncryptionDecorator(
delegate = AMRepositoryImpl(
accountManager = AccountManager.get(appContext)
)
),
isEnabled = { isEnabledInternal(appContext) }
)

BY Engineering notes | Артур Илькаев






Share with your friend now:
group-telegram.com/artrblog/31

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Soloviev also promoted the channel in a post he shared on his own Telegram, which has 580,000 followers. The post recommended his viewers subscribe to "War on Fakes" in a time of fake news. In February 2014, the Ukrainian people ousted pro-Russian president Viktor Yanukovych, prompting Russia to invade and annex the Crimean peninsula. By the start of April, Pavel Durov had given his notice, with TechCrunch saying at the time that the CEO had resisted pressure to suppress pages criticizing the Russian government. WhatsApp, a rival messaging platform, introduced some measures to counter disinformation when Covid-19 was first sweeping the world. These administrators had built substantial positions in these scrips prior to the circulation of recommendations and offloaded their positions subsequent to rise in price of these scrips, making significant profits at the expense of unsuspecting investors, Sebi noted. Perpetrators of such fraud use various marketing techniques to attract subscribers on their social media channels.
from us


Telegram Engineering notes | Артур Илькаев
FROM American