Этот чих у нас классом зовется

Bermuda

Новичок
Этот чих у нас классом зовется

Кроме раздела юмор, не хватает раздела кунцкамера.

http://habrahabr.ru/blog/php/44529.html

Почему это называется библиотекой, непонятно. Это с одним публичным методом!
Откуда там нарисовался класс, также неясно. Какую сущность он описывает?

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

Beavis

Banned
Re: Этот чих у нас классом зовется

Автор оригинала: Bermuda
Почему это называется библиотекой, непонятно. Это с одним публичным методом!
если класс построен по паттерну facade, то это вполне нормально
 

whirlwind

TDD infected, paranoid
А что, кому-то нужен один супермегакласс со стопицотмильонов методов на все случаи жизни? Нормальный себе класс. Не шедевр, конечно, но по крайней мере

Какую сущность он описывает?
ясно из названия

Вот прям с этим никаких проблем нет. Что написано, то и делает.
 

Bermuda

Новичок
Beavis, мне все равно непонятно, с какой радости один единственный метод зовется библиотекой, будь он даже фасадом.

-~{}~ 16.06.08 16:52:
whirlwind
ясно из названия
Lang_Auto_Detect
Мне не совсем ясно, даже из названия. Ну не догоняю, что это за сущность такая? Не могу подобрать существительное.
 

atv

Новичок
Ну чего прицепился? Там ещё настройки работы есть, их куда, в вызов функции каждый раз писать. Это ещё не самый плохой пример кода. В данном случае класс используется как namespace для нескольких функций. Ничего криминального в этом нет. Просто лучше было бы использовать статический вызов.
 

whirlwind

TDD infected, paranoid
PS. Кстати, Bermuda если Игорь это Вы, то Вам самим нужно теорию подучить насчет ООП и прочего. Класс создается не на чих или функцию. Класс позволяет связать состояние и реализацию с переменной, значение которой можно заменить на другое состояние/реализацию. При этом код, использующий этот детектор, менять вовсе не придется.
 

Bermuda

Новичок
Просто лучше было бы использовать статический вызов.
Это как минимум. По хорошему, стоило бы поискать класс для работы с кодировками/языками и туда прикрутить.

whirlwind
Да не против я вашего детектора. Оформив детектор в виде класса, вы не используете никаких плюсов ООП, а лишь раздуваете код, тем самым уменьшая его читаемость. Правильно глаголит тов atv, static было бы гораздо правильнее. Зачем мне инициировать новый объект? Только для того, чтобы воспользоваться его единственным методом?

-~{}~ 16.06.08 17:02:

При этом код, использующий этот детектор, менять вовсе не придется.
А когда пришлось бы?
 

whirlwind

TDD infected, paranoid
Даешь холивары с понедельника! :)

У меня складывается впечатление, что некоторые товарищи не отличают этап написания программы и этап ее работы. Дело в том, что для того, что бы заставить программу работать по другому, вовсе не обязательно ее переписывать.

PS. Класс = шаблон. Объект... создан по шаблону и представляет состояние + реализацию - повторять до полного понимания :)
 

Angerslave

Новичок
Bermuda
Почему это "раздувание кода" уменьшает его читаемость?

Ваще, парень молодец, имхо. Мыслит на перспективу. Да, самое простое - оформить это в функцию. Но вот расширить будет попроще класс, а то потом может начаться путаница в глобальных переменных и пр. А Вы, Bermuda, вместо того, чтобы подсказать человеку, набросились на него. Почему-то на пхп-форумах это считается нормальным...
 

Bermuda

Новичок

whirlwind

TDD infected, paranoid
Многа букаф :)

Я вообще выражался популярно, для широкого круга, так сказать. Если нижеследующий код
PHP:
class Foo {
    protected $_bar;

    function test(){

    }
}
Это не шаблон, по которому создаются объекты с одним защищенным атрибутом, который доступен по имени $_bar и с одним публичным методом, который доступен по имени test, то можете кинуть в меня камень. Попробуйте создать объект этого класса, в котором не будет атрибута $_bar и метода test и кидайте :)
 

Gas

может по одной?
Bermuda
ну если заниматься буквоедством на тему
то по указанной тобой ссылке, кстати и говорится

"class is a programming language construct that is used as a blueprint to create objects."
 

Bermuda

Новичок
whirlwind, у вас какая-та нестандартная терминология :)
Все, с сегодняшнего для буду классы звать шаблонами.
Например шаблон пользователей, ну или шаблон изображений.
Спасибо, поржал :)

-~{}~ 16.06.08 17:22:

Gas
blueprint -- план, проект
template -- шаблон
 

Bermuda

Новичок
Я и говорю, странная у вас терминология.
Может это я отвык?
 

Gas

может по одной?
Lingvo трактуект так-же как и "образец, шаблон".

Например шаблон пользователей
естественно так никто не называет (я не слышал), под "шаблоном" понимается совсем не синоним к термину "класс". Скорее это принцип действия, аналогия что ли.
 

HraKK

Мудак
Команда форума
Bermuda
Вы просто не понимаете. Хватит уже пытаться перетянуть одеяло на свою сторону. Советую Вам извинится перед автором.

З.ы. Из юмора снес.
 

Angerslave

Новичок
Bermuda
Класс есть не просто шаблон, а шаблон объектов. И всё экземпляры класса похожи между собой. Это ли не шаблон?
 

Bermuda

Новичок
Gas
Вы должны понимать, что класс описывает _множество_ объектов с общими свойствами, в то время как шаблон это _один_ "предмет" который позволяет создавать копии объектов по своему подобию. Это в принципе разные вещи.

Класс пользователи обладает свойствами имя, фамилия, пароль, адрес электронной почты. Над классом пользователей можно произвести следующие действия: создать, изменить, удалить.

Какими свойствами обладает шаблон пользователя? С шаблоном я могу сделать только одно действие -- копировать/клонировать.

Я бы не сказал, что это одно и то же.
whirlwind, не убедил.
 

whirlwind

TDD infected, paranoid
Где тут template?

http://www.lingvo.ru/lingvo/Translate.asp?LingvoAction=translate&Ln=1&words=%26%231096%3B%26%231072%3B%26%231073%3B%26%231083%3B%26%231086%3B%26%231085%3B&DoNotSave=0&text=%F8%E0%E1%EB%EE%ED&LangPara=1&B1=%CF%E5%F0%E5%E2%EE%E4

И где выше я писал template?

Что вы прицепились к шаблонам? Тут смысл был объяснить что такое класс, если классический термин Class трактуется не верно. Ну я могу сказать - трафарет. Все пользовались трафаретом? :) Тож не подходит? Ну тогда сори, придется вам дальше думать что Class - это удобный namespace для группировки функций. Тогда для чего придумали namespace в 5.3 будете думать когда его зарелизят.
 
Сверху