Warning: mkdir(): No space left on device in /var/www/group-telegram/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/artrblog/-31-32-33-): Failed to open stream: No such file or directory in /var/www/group-telegram/post.php on line 50
Engineering notes | Артур Илькаев | Telegram Webview: artrblog/33 -
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/33
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/33

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Since January 2022, the SC has received a total of 47 complaints and enquiries on illegal investment schemes promoted through Telegram. These fraudulent schemes offer non-existent investment opportunities, promising very attractive and risk-free returns within a short span of time. They commonly offer unrealistic returns of as high as 1,000% within 24 hours or even within a few hours. In the past, it was noticed that through bulk SMSes, investors were induced to invest in or purchase the stocks of certain listed companies. For example, WhatsApp restricted the number of times a user could forward something, and developed automated systems that detect and flag objectionable content. The regulator said it has been undertaking several campaigns to educate the investors to be vigilant while taking investment decisions based on stock tips. The regulator took order for the search and seizure operation from Judge Purushottam B Jadhav, Sebi Special Judge / Additional Sessions Judge.
from cn


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