Master of Orion
![]() |
||||||||||||||||
1 | ||||||||||||||||
Обнуляемые классы (не встроенный Nullable<T>) с параметрами по умолчанию25.01.2013, 00:51. Просмотров 526. Ответов 3
Метки нет Все метки)
(
Здравствуйте. Прочитал "чистый код" и возник в конце вопрос: насколько это актуально? Я что-то редко видел такие объекты. По сабжу: если тип MyClass может вернуть Null, то мы пишем класс NullMyClass и даем ему поведение по-умлочанию. То есть например было такой код:
0
|
|
25.01.2013, 00:51 | |
Классы и конструктор по умолчанию/с параметрами
Функция с параметрами по умолчанию Конструктор с параметрами по умолчанию |
|
![]() 14688 / 11104 / 2917
Регистрация: 17.09.2011
Сообщений: 18,628
|
|||||||||||
25.01.2013, 02:41 | 2 | ||||||||||
Честно сказать, тоже такого использования никогда не встречал - бредовое оно какое-то.
Чистая семантика - от одной мысли о человеке с именем "Такого человека не существует" и возрастом 0 лет как-то сразу бросает в пот и представляется Тадж-Махал. Я уж не говорю о проверках.
1
|
![]() |
|
25.01.2013, 07:43 | 3 |
Такая техника (Null Object pattern) требует жесткого соблюдения - ведь если её использовать, то её нужно везде использовать, или придется каждый раз смотреть что возвращает метод: null или NullObject.
Например, ребята, которые пишут SharpDevelop используют этот паттерн в своей бибилиотеке NRefactory - https://github.com/icsharpcode/NRefactory
1
|
Master of Orion
![]() |
|
25.01.2013, 08:36 [ТС] | 4 |
kolorotur, ну там же советуют добавить еще и метод bool IsNull который возвращает true, а в потомке переопределяется и возвращает false. Так что с этим проблем нет.
turbanoff, То есть оно используется? Но мне эта идея очень понравилась, почему же она в таком случае не получила такого распространение, как TDD, SOLID, MVC и пр?
0
|
25.01.2013, 08:36 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Конструктор с параметрами по умолчанию Шаблон с параметрами по умолчанию
Функция возведения в степень с параметрами по умолчанию Передача TMemo в функцию с параметрами по умолчанию Перегрузка функции шаблонами и параметрами по умолчанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |