Денис Крешихин

Денис
Крешихин

iOS-разработчик с 15+ летним опытом

Тимлид/сеньор по обстоятельствам

Интересы: swift, uikit, rxswift, oop/ood, devops, agile

2024 © Денис Крешихин

Articles tagged by design

Абстрактная фабрика на Haskell

К функциональным языкам программирования я уже давно испытываю неподдельный интерес, особенно к ML-семейству и в частности к Haskell. Пожалуй такой же трепет я испытываю только к LISP-языкам. Но к сожалению практических книг по созданию приложений на Haskell очень и очень мало, поэтому я решил разбираться самостоятельно. На данный момент сделал набросок реализации абстрактной фабрики на Haskell. Потом попробую реализовать и другие ООП-паттерны в таком же виде как я сделал это для Go при написании хабростатьи Язык Go: реабилитация императивного программирования.

haskelldesign25-го июля 2015read more

Статическая и динамическая композиции в c++

Возможность метапрограммирования в c++ позволяет расширить тривиальные способы композиции классов, варьируя сцепленность и зависимость объектов.

designcpp18-го сент. 2012read more

Зависимость (dependency) и сцепленность (cohesion) на примере MVC-архитектуры

В объектно-ориентированном проектировании широко используются термины зависимость и сцепленность. Однако мало кто использует для оценки этих величин количественные показатели, несмотря на то что методы расчёта таких показателей хорошо описаны в литературе, например здесь. Но видимо, дело упирается в то, что существующие показатели не заслужили должного доверия, т.к. качество той или иной единицы проектирования зависит не только от объективных показателей, но и от ряда субъективных — аккуратности названия классов, их методов и переменных, компакности и чистоты логики, соответсвия общепринятым подходам.

Тем не менее, полезно представлять, какие проектные решения повышают сцепленность (что хорошо), а какие увеличивают зависимость (что плохо).

designmvc25-го авг. 2012read more