[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Зачем так делают?
Страницы: 1, 2, 3, 4, 5
linker
Цитата
закрыли все, оставив минимум, потом посмотрели как это работает в реальности

Гениально.

_____________
Gear Framework
Gear Framework на Github
chee
Цитата (MiksIr @ 10.02.2014 - 21:55)
Вот ваш пример как раз пошел по классическому пути - закрыли все, оставив минимум, потом посмотрели как это работает в реальности, и что-то приоткрыли.

и из-за этого у нас кучи кода не в том месте, а также костыли. И это опен-сорсный вендор, просто замечательно. Вы серьезно?

dry.gif
По-моему все это мало(private методы, инкапсуляция) перекликается с реальностью, я вообще не вижу смысла в private методах и финализировании при использовании ООП, по моему, это какое-то оправдание отсутствия навыков проектирования классов. Я думал, что основная сила ООП, не переписывать код, а расширять его новыми классами, через наследование и полиморфизм, при том не изменять базовые классы. А в итоге получилось, как всегда, правим базовые классы, при необходимости.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
sergeiss
Цитата (MiksIr @ 10.02.2014 - 23:53)
а наследование - хоть и возможная, но не критичная черта

Ну, батенька, это уже перебор в твоих утвердениях... ООП без наследования - это порнография, по-другому не скажешь. Если без наследования, то на процедурке писать будет проще smile.gif

Ты знаешь, я когда "на процедурке" делаю что-то, то часто использую классы. Как удобное хранилище информации. Как раз без наследования, потому что для хранилища инфы наследование не нужно. Но это не является ООП, вообще ни разу!

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
linker
chee
Цитата
по моему, это какое-то оправдание отсутствия навыков проектирования классов.

Отнюдь, просто реальная необходимость. MiksIr хоть и манагер-теоретик, но говорит правильно, хотя бывает и не совсем корректно.

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

_____________
Gear Framework
Gear Framework на Github
bestxp
О боже что за ... я прочиал О_о

Наследование и хорошо и плохо, наследование должно быть грамотное, не только мне не нравиться как работает метод, поэтому я его перепишу

Что может нарушить принцип подстановки Барбары Лискоу или Принцип Open-Closed открытый для расширения закрытый для модификации

Высосали проблему из незнания и пытаются придумать опровдания своей хотелки или непониманию происходящему

Если требуется переопределить метод то это попахивает ошибкой архитектуры приложения и никак не пахнет расширением функционала, единственной причины этого действия я могу допустить исправление бага вендора до его внесения в основной релиз и все. для остального у вас есть интерфейсы, полиморфизм и интерфейсы
linker
bestxp
Цитата
для остального у вас есть интерфейсы, полиморфизм и интерфейсы

Переопределение метода - изменение его поведения - полиморфизм.

P.S. в контексте php конечно же.

_____________
Gear Framework
Gear Framework на Github
bestxp
Цитата (linker @ 11.02.2014 - 10:59)
Переопределение метода - изменение его поведения - полиморфизм.

Срочно удали все средства разработки,

Изменение метода и его поведения никак не относиться к полиморфизму.
linker
bestxp
Читай ниже, в контексте PHP. Как разновидность - полиморфизм включения ну или полиморфизм подтипов.

_____________
Gear Framework
Gear Framework на Github
chee
Цитата (bestxp @ 11.02.2014 - 09:46)
Наследование и хорошо и плохо, наследование должно быть грамотное, не только мне не нравиться как работает метод, поэтому я его перепишу

Что может нарушить принцип подстановки Барбеары Лискоу или Принцип Open-Closed открытый для расширения закрытый для модификации

Как это вообще относится к поднятой теме. Мы тут обсуждаем private, protected методы, а не принципы SOLID. Прошу впредь, по теме, а не обобщенными принципами проектирования.

Цитата (bestxp @ 11.02.2014 - 09:46)
Высосали проблему из незнания и пытаются придумать опровдания своей хотелки или непониманию происходящему

Возможно, не буду отрицать, поэтому я и создал эту тему, что бы прояснить. Но пока я получил ответы, которые хоть как то не были подтверждены на практике.

Цитата (bestxp @ 11.02.2014 - 09:46)
Если требуется переопределить метод то это попахивает ошибкой архитектуры приложения и никак не пахнет расширением функционала, единственной причины этого действия я могу допустить исправление бага вендора до его внесения в основной релиз и все.

Ок, а если это ошибка архитекторов вендора, и они не считают, например нужным сменить уровень доступа к этому методу. Что тогда прикажете делать? Сменить уровень доступа у себя и при миграции на новую версию продукта огребать?

Цитата (MiksIr @ 10.02.2014 - 23:53)
Проблема может быть как в низкой квалификации разработчиков библиотеки, так и в низкой квалификации тех, у кого "кучи кода не в том месте, а также костыли".

А вы, я так смотрю, Дартаньян. laugh.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Упрощу свой вопрос: Если мотивация делать методы private, кроме той что разработчик(проектировщик) класса так решил?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
linker
chee
Да, инкапсуляция smile.gif smile.gif smile.gif

_____________
Gear Framework
Gear Framework на Github
chee
sad.gif

Думаю, тему можно закрывать.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.