Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 28 29 30 31 32 33 34 35 [36] 37   вперед  Ctrl
 Re: Впечатления новичка от ООП  [new]
tchingiz
Member

Откуда:
Сообщений: 38991
break
и вообще чем выдвигать гипотезы ненужности ООП - докажите миру обратное, возьмите компилятор без поддержки ООП (какой нибудь C-стандарта) библиотеки к нему тоже без ООП и т.д. и посмотрити что из этого получится много ли проектов до завершения дойдет...(я думаю не много)

а сидя в Delphi где за тебя все делает VCL и рассуждать что объекты гомно - это круть, и вообще я за тех кого забанят!!! можете и меня банить!!!

сделано

http://www.realcoding.net/article/view/4635
http://www.realcoding.net/article/view/4570

взять компилятор без поддержики ООП - это не способ доказать ненужность, это способ показать необязательность.
Доказывание ненужности термина А (класс) заключается в том, что берется другой термин, например, B(абстрактный автомат), и доказывается, что при использовании последнего термина сохраняются все возможности от испльзования начального термина, и, сверх того, устраняется проблемы его различного толкования.
Часть из коих(различных толкований) собрана на http://agp.hx0.ru

Сообщение было отредактировано: 22 апр 10, 05:58
11 апр 08, 00:55    [5533762]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Впечатления новичка от ООП  [new]
Basketbol
Member

Откуда:
Сообщений: 67
Всю тему не читал.
Пишу о себе:
Писал "лапшу" на ПХП. В принципе сделал один удачный проект на DELPHI + PHP (да, такая вот связочка:))
И там и там - лапша. Но лапша которая работает и приносит мне основной доход.

Много слышал об ООП - решил воочию убедиться во всех прелестях.
Устроился на работу (специально ради этого!) дорабатывать один ВЕБ-проект написанный по всем правилам ООП, на фреймворке, одним талантливым программером.
Впечатления:
Хорошие:
1. Красота и понятность кода.
что то в духе:
$order = Orders::fromId($orderId);
$order->setIsPay("pay");
DAO::save($order);
$this->render("BuyResult");

То же самое в процедурном стиле выглядело бы сложнее и некрасивее.

2. Какие то стандартные действия над ЛЮБЫМИ наборами объектов (постраничный вывод, сортировка, поиск фильтрация) делаются в течении нескольких минут. Самое интересное - я даже не знаю КАК ИМЕННО это делается:)) Я просто вставляю виджет "постраничный вывод", и указываю ему отфильтрованный набор данных. Остальное он делает все сам.

Кстати все эти вещи реализованы в "ядре" и это ядро работает не только в этом проекте, а также в двжке магазина, и еще где то.

3. Плюс который относиться скорее к фреймворку нежели к ООП: уже готовые написанные стандартные операции: валидация данных, рендеринг страниц и т.д.

Минусы:
Если код не документирован - то разбираться сложнее нежели в процедурной лапше.

Вывод: в больших и масштабируемых проектах ООП рулит.
27 апр 11, 10:42    [10572343]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
rt321
Member [заблокирован]

Откуда:
Сообщений: 977
Basketbol, блин, почему лапша? Ты прекрасно всё сделал. Мне ПХП очень нравится
Тебе тех.писатели расскажут сказки какой ПХП гавнистый,
а ПХП всех переживет; потом меня вспомнят, но будет поздно
27 апр 11, 11:03    [10572487]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688

On 27.04.2011 11:42, Basketbol wrote:

> Устроился на работу (специально ради этого!) дорабатывать один ВЕБ-проект
> написанный по всем правилам ООП, на фреймворке, одним талантливым программером.

Эт тебя обманули.

> То же самое в процедурном стиле выглядело бы сложнее и некрасивее.

Пока тут нет ООП.
В процедурном стиле это бы выглядело так:

$order = Orders_fromId( $orderId );
setOrderIsPay( $order, "pay");
DAO_save($order);
renderThis( $this, "BuyResult");

Мало отличий, правда ?


> 2. Какие то стандартные действия над ЛЮБЫМИ наборами объектов (постраничный
> вывод, сортировка, поиск фильтрация) делаются в течении нескольких минут. Самое
> интересное - я даже не знаю КАК ИМЕННО это делается:)) Я просто вставляю виджет
> "постраничный вывод", и указываю ему отфильтрованный набор данных. Остальное он
> делает все сам.
> 3. Плюс который относиться скорее к фреймворку нежели к ООП: уже готовые
> написанные стандартные операции: валидация данных, рендеринг страниц и т.д.

Это всё -- не ООП. Элементарное компонентное программирование.

Posted via ActualForum NNTP Server 1.4

27 апр 11, 11:41    [10572818]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
MasterZiv
$order = Orders_fromId( $orderId );
setOrderIsPay( $order, "pay");
DAO_save($order);
renderThis( $this, "BuyResult");

А $order и $this у тебя что тогда?
27 апр 11, 12:36    [10573375]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
Иными словами: не вижу особой разницы между тем, чтобы написать сигнатуру classname->actionname(...args) или function actionname(classname arg, ...args).
27 апр 11, 12:38    [10573390]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65422
Блог
an0nym
А $order и $this у тебя что тогда?

Например, id.

MasterZiv
Мало отличий, правда ?

Да забейте. Пусть считают, что ООП состоит именно в этом
27 апр 11, 12:40    [10573415]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688

On 27.04.2011 13:36, an0nym wrote:
> А $order и $this у тебя что тогда?
Данные, параметры фунции.

Posted via ActualForum NNTP Server 1.4

27 апр 11, 13:37    [10573929]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688

On 27.04.2011 13:40, softwarer wrote:

> Да забейте. Пусть считают, что ООП состоит именно в этом

Да я и не особенно ...

Posted via ActualForum NNTP Server 1.4

27 апр 11, 13:37    [10573937]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
softwarer
Например, id.

Прекрасно.

123 = Orders_fromId(123);
123 = setOrderIsPay(123, "pay");
DAO_save(123);
renderThis( $this, "BuyResult");

Как передано состояние "payed" между установкой его в setOrderIsPay и сохранением в персистентное хранилище в DAO_save?
27 апр 11, 14:10    [10574287]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
MasterZiv
On 27.04.2011 13:36, an0nym wrote:
> А $order и $this у тебя что тогда?
Данные, параметры фунции.

В каком виде? Массив? Хэшмэп? Структура? Объект? ООП?
27 апр 11, 14:11    [10574294]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65422
Блог
an0nym
Как передано состояние "payed" между установкой его в setOrderIsPay и сохранением в персистентное хранилище в DAO_save?

Как угодно. Подпрограмма setOrderIsPay вообще может быть пустой, отсюда не видно. Это сугубо внутренний вопрос реализации. Например, так же, как передаётся состояние visible между вызовами в коде

ShowWindow (hwnd, SW_SHOW);
...
DestroyWindow (hwnd);
27 апр 11, 14:52    [10574689]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688

On 27.04.2011 15:11, an0nym wrote:

> Данные, параметры фунции.
>
>
> В каком виде? Массив? Хэшмэп? Структура? Объект? ООП?

Без разницы. В виде данных. Понимаемых функцией, в которую они передаются.

Posted via ActualForum NNTP Server 1.4

27 апр 11, 15:04    [10574834]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
softwarer,

т. е. вы предлагаете где-то скрыто от пользователя внутри хранить, что до вызова setOrderIsPay у ордера #123 было pay = 0, а после стало pay = 1? При этом общение всё вести через #123?
27 апр 11, 15:06    [10574850]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65422
Блог
an0nym
т. е. вы предлагаете где-то скрыто от пользователя внутри хранить, что до вызова setOrderIsPay у ордера #123 было pay = 0, а после стало pay = 1? При этом общение всё вести через #123?

Я не предлагаю, я излагаю лет сорок как известный паттерн.
27 апр 11, 15:17    [10574940]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
ZyK_BotaN
Member

Откуда: Новгород-Северский
Сообщений: 111681
an0nym
Иными словами: не вижу особой разницы между тем, чтобы написать сигнатуру classname->actionname(...args) или function actionname(classname arg, ...args).


разве в этом суть ООП? ну-ну.
27 апр 11, 17:42    [10576196]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65422
Блог
ZyK_BotaN
разве в этом суть ООП?

Суть ООП - в комбинации трёх-четырёх паттернов проектирования, поотдельности известных до появления ООП как относительно стройной теории. К сожалению, мало кто знает и умеет отделить эту суть от формы, то есть от синтаксического сахара (синтаксиса языков), позволяющего легче и короче записывать применение этих паттернов.
27 апр 11, 18:17    [10576479]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
softwarer
Я не предлагаю, я излагаю лет сорок как известный паттерн.

Инкапсуляция?
27 апр 11, 19:31    [10576797]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
Проясним чупачупснику
Guest
an0nym
softwarer
Я не предлагаю, я излагаю лет сорок как известный паттерн.

Инкапсуляция?


И что с ней не так? Ссылка на объект - handle (фактически индекс в таблице ссылок на объекты-записи).
Методы - процедуры и функции, принимающие этот хендл как параметр. Никакого способа получить доступ к данным объекта нет, кроме как через вот эти функции и процедуры. Изобретено как минимум не позже первой реализации Unix.

В чем проблема-то?

Как правильно заметил Просторов - все давно уже изобретено было до ООП. Суть ООП - это лишь синтаксис и принудительная кастрация стимулирование бездумных хомячков на применение этих самых паттернов.

Кастрация Стимуляция, апогея достигшая в Java и C#, где вообще запретили все, что не ООП
27 апр 11, 21:09    [10577157]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
Проясним чупачупснику
И что с ней не так? Ссылка на объект - handle (фактически индекс в таблице ссылок на объекты-записи).
Методы - процедуры и функции, принимающие этот хендл как параметр. Никакого способа получить доступ к данным объекта нет, кроме как через вот эти функции и процедуры. Изобретено как минимум не позже первой реализации Unix.

В чем проблема-то?

Как правильно заметил Просторов - все давно уже изобретено было до ООП. Суть ООП - это лишь синтаксис и принудительная кастрация стимулирование бездумных хомячков на применение этих самых паттернов.

Кастрация Стимуляция, апогея достигшая в Java и C#, где вообще запретили все, что не ООП

Уж не знаю пытаешься ли ты меня опровергнуть или наоборот, но я примерно к этому же и клоню. Если мы перестали называть объект некоторого класса с набором методов и состоянием объектом, а назвали его "некоторой областью в памяти, где хранятся скрытые от пользователя данные" и сделали функцию, которая в зависимости от типа первого аргумента выполняет разные вещи над этими самыми данными - ООП никуда не ушел. Во всяком случае я особой разницы не вижу.
27 апр 11, 21:56    [10577327]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
ZyK_BotaN
Member

Откуда: Новгород-Северский
Сообщений: 111681
softwarer
ZyK_BotaN
разве в этом суть ООП?

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


вот и я о том же.
27 апр 11, 22:50    [10577535]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
Проясним чупачупснику
Guest
an0nym
- ООП никуда не ушел. Во всяком случае я особой разницы не вижу.

А кто сказал, что он куда-то там ушел? Чем хендл (handle) не ссылка на объект?

И скажем так

автор
The terms "objects" and "oriented" in something like the modern sense of object-oriented programming seem to make their first appearance at MIT in the late 1950s and early 1960s.


Другой вопрос - поддержка ОО в ЯВП в явном виде появилась несколько позже. Хотя не намного.
Тот-же Smalltalk - 1972 (K&R C - 1973).

Так что спор этот бессмысленнен.

ОО парадигма как таковая - ее небось можно и у Аристотеля где-то накопать.
27 апр 11, 23:08    [10577588]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
an0nym
Member

Откуда:
Сообщений: 7076
Объясните тогда, что имел в виду MasterZiv?
MasterZiv
> То же самое в процедурном стиле выглядело бы сложнее и некрасивее.

Пока тут нет ООП.
В процедурном стиле это бы выглядело так:

$order = Orders_fromId( $orderId );
setOrderIsPay( $order, "pay");
DAO_save($order);
renderThis( $this, "BuyResult");

Мало отличий, правда ?

ООП был. ООП остался. Не?
28 апр 11, 01:05    [10577917]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
Проясним чупачупснику
Guest
an0nym
ООП был. ООП остался. Не?


Нет. Начнем с того, что в примере выше практически нет ООП.

И вообще. Ты Гради Буча читал?
Так иди и читай.
28 апр 11, 01:42    [10577945]     Ответить | Цитировать Сообщить модератору
 Re: Впечатления новичка от ООП  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688

On 28.04.2011 2:05, an0nym wrote:

> ООП был. ООП остался. Не?

Угу. (и ещё "будет жить!").

Posted via ActualForum NNTP Server 1.4

28 апр 11, 09:51    [10578377]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 28 29 30 31 32 33 34 35 [36] 37   вперед  Ctrl
Все форумы / Программирование Ответить