LINUX.ORG.RU

История изменений

Исправление zurg, (текущая версия) :

у наследования в ООП два назначения: главное и полезное - обеспечение типизированного полиморфизма, второе - наследование реализации, оно же жёсткий антипаттерн(особенно данных), применяют для экономии копипасты, попутно ломая и намертво связывая архитектуру. Ещё общий косяк оопешных иерархий, однобокая завязка на типы произведения, а в общем случае предметная область которая ложится только на деревянную иерархию - исключительная редкость. В расте более общий и гибкий подход для декомпозиции - алгебраические типы (комбинируют произведения и суммы типов) + трейты(классы типов, интерфейсы) + дженерики(шаблоны ). Как-то так

Исходная версия zurg, :

у наследования в ООП два назначения: главное и полезное - обеспечение типизированного полиморфизма, второе - наследование реализции, оно же жёсткий антипаттерн(особенно данных), применяют для экономии копипасты, попутно ломая и намертво связывая архитектуру. Ещё общий косяк оопешных иерархий, однобокая завязка на типы произведения, а в общем случае предметная область которая ложится только на деревянную иерархию - исключительная редкость. В расте более общий и гибкий подход для декомпозиции - алгебраические типы (комбинируют произведения и суммы типов) + трейты(классы типов, интерфейсы) + дженерики(шаблоны ). Как-то так