Re: Хелперы vs множественное наследование
От: sqrt  
Дата: 03.03.19 17:58
Оценка:
Здравствуйте, Khimik, Вы писали:


K>А в других языках они есть? Я пока не начал это осваивать, но вроде понятен их смысл – можно прикрутить к любому типу, например, integer, какую-то функцию, например GetFactorial, и писать в коде fact1:=12.GetFactorial;


В C# есть Extension Methods.

K>Очевидно, хелперы можно применить для моей задачи – прикрутить их напрямую к классу TStream. Но я слышал, что использование хелперов опасно, поскольку оно противоречит парадигме ООП. Хотелось бы узнать об этом подробнее.


В .NET на методах расширения LINQ сделан, польза там есть на лицо. Не думаю что в Delphi от хелперов есть какая-то опасность, хелперы не добавляют к классам/записям дополнительное состояние, хотя могут менять внутренее.

K>Мне кажется, главная опасность использования хелперов с классами возникает там, где есть динамические функции. И я думаю, что для избегания этих проблем я буду делать так: все функции, реализованные через хелперы, будут иметь название, начинающееся с hf, например myfilestream1.hfWriteBoolean();


Имхо, префиксы в названиях неинформативны и наоборот затрудняют понимание кода, да и в библиотеке Delphi к названиям методов/функций префиксы нигде не добавляются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.