Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (13) « Первая ... 4 5 [6] 7 8 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Процедурный стиль vs Объектно ориентированное прог
 
Опрос: Какой стиль програмирования вы используетете
Только Процедурный [ 5 ]  [19,23%]
Только ООП [ 14 ]  [53,85%]
ООП когда требует клиент, так процелурный [ 0 ]  [0,00%]
претваряюсь что пишу ООП (создаю классы, методы), а использую процедурный [ 3 ]  [11,54%]
ООП когда большой проект, а сам использую процедурный [ 4 ]  [15,38%]
Всего голосов: 26
  
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (Эли4ка @ 27.01.2016 - 07:49)
тогда как же объяснить что такое холод?

Холод, это произвольное, теоретическое понятие. Его никак нельзя интерпретировать как сущность, потому что он не поддается измерению. А то, что нельзя измерить - не существует. Можно измерить количество тепла. А это понятие относительное и холодом может называться только в сравнении. В Тайланде несколько лет назад зафиксировали температуру +8 градусов по Цельсию. Было бы смешно, если бы не было густно. Несколько человек умерло от переохлождения. Замерзли другими словами.

Если интересно, могу больше сказать. Температуры тоже не существует. Невозможно измерить температуру, как таковую. Можно измерить только различные свойства вещества, которые будут изменяться в зависимости от количества тепловой энергии. В градусниках - объем спирта или разницу расширения разных металлов в биметаллических пластинках, или электрическое сопротивление и т.д. Но это термодинамика уже.

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

Потому то и не получается четко сформулировать ООП. Потому что в нем должны быть объекты, а объект должен существовать, иметь определенные свойства и поведения. Математически или программно можно описать холод, для этого достаточно определить точку отсчета. Температуру замерзания воды по Цельсию к примеру. Но это уже не объект.

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

Но последнее время на такие условности закрывают глаза, упорно называя парадигму Объектной. На это давно уже указывают многие критики ООП, хотя как с гуся вода.

Нужно отдать должное, мало кто придерживается строгих канонов ООП, сами того не подозревая. Но раз модно так называть, значит до потери пульса будут упираться. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




Twin бла бла бла

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

ColdCondition, WarmCondition и тд, которые описывают состояние объекта, и да еще даже есть такой паттерн как состояние в ООП, который очень хорошо помогает при рефакторинге избавиться от кучи Case When в коде и поднять его читабельность и очень даже хорошо подходить под OpenClosed принцип SOLID когда мы пишем новый код , а не трогаем старый


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (bestxp @ 27.01.2016 - 09:17)
и холод и тепло и температура легко отражаеться в объектной модели и это называется состоянием,

Всё верно, о чем я и писал. Состояние объекта. Тоесть полюбому нужен объект, как спирт в термометре к примеру. А значит в отрыве от такого объекта программирование становится каким угодно, только не Объектно-ориентированным.

Я не говорил, что невозможно отобразить холод, я говорил, что это идеологически неверно. Потому что ООП, это Объектно-ориентированное прораммирование. А если объект подменяется чем-то другим, каким то чисто гипотетическим понятием, не сущностью, то какое же оно Объектное.

Еще раз приведу цитатку, уж больно точно она отражает существующее положение дел:
Цитата
термин «объектно-ориентированный» стал модным, ... его стали искусственно «прикреплять» к любым новым разработкам, чтобы обеспечить им привлекательность. Бьёрн Страуструп в 1988 году писал, что обоснование «объектной ориентированности» чего-либо, в большинстве случаев, сводится к ложному силлогизму: «X — это хорошо. Объектная ориентированность — это хорошо. Следовательно, X является объектно-ориентированным».


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




twin твои доводы не объективны и смешны, ты тычешь в одну и туже строку и тд, как раз таки все объектно и получается, и описывается легко пока ты не опрверг нигде ООП , только попытки неудачные

а я еще глубже копну в проектирование по модели Domain Driven Design , где есть 2 понятия в архитектуре Логика домена и логика инфраструктуры

Логика домена это те самые коровки собачки и летучие лисы и то что мы с ними делаем и есть инфраструктура в виде кешей и бд роутеров и прочей нечисти

по сути соединение с бд это объект и у него есть 2 состояния соединен или нет
так же как у человека есть комфортно, тепло и жарко , притом порог каждого у него свой
но то что происходит с ним когда ему холодно или жарко типично потоизлияние или дрожание от холода


Есть человек это объект, идущий человек это объект в состоянии движения , где у движения есть свои характеристики типа


(new Human)->addCondition(new WalkCondition('10 meters', '5 meters per minute'));


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


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
YVSIK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



★___★mvccmv.ru★___★
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3940
Пользователь №: 25563
На форуме: 5 лет, 11 месяцев, 7 дней
Карма: 63

Трезвый :
45 лет, 9 месяцев, 5 дней


Цитата (twin @ 27.01.2016 - 10:15)
Существует ли холод? Темнота? Или та же тишина?

Все по порядку)):
это все Физические явления!
каждое явление имеет свои параметры и имеют свои возможности измерений.
ХОЛОД: измеряются градусами.
ТЕМНОТА: измеряются люксами.
ТИШИНА: измеряются децибелами.
Но как их заставить в ПК проявляться, как?

ещё, они относительны, вот относительность возможна по обстоятельствам.
если это обстоятельства имеются в программе, вот тоьлко тогда берем в руки измеритель
и пользуем. И совсем не важно как чукча или негр при этом мерзнут или потеют,
важно для чего эти физические явления/природы/ засунули в ПК,
это то что не может программа, по определению

Дисплей не может передать ни запаха, ни температуры,
а вот темень и тишину пожалуйста.
ладно эт так к слову
просто пример не таво) не очень получился, заглянул и ляпнул, не для вреда, просто выскал что пришло в голову. huh.gif


--------------------
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (bestxp @ 27.01.2016 - 10:13)
ты не опрверг нигде ООП

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

Сомневаюсь потому, что нигде нет конкретного и однозначного определения ООП.

Я завелся только из-за того, что оопэшники узурпировали классы, а процедурным (читай: структурным) программированием объявили спагетти в одну строку в одном файле с одной областью видимости. Детский сад.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (YVSIK @ 27.01.2016 - 10:16)
ХОЛОД: измеряются градусами.
ТЕМНОТА: измеряются люксами.
ТИШИНА: измеряются децибелами.

Да ладно)))Градусами измеряется тепло. Нука назови мне единицу измерения холода?
Темнота не может измеряться люксами, люксами измеряется освещенность. А темнота, это отсутствие освещенности, соответственно нечего измерять. Если темнота не полная, это значит объект слабо освещен, и измеряется свет. Когда света нет, что измерять? Или вот прозрачность. Попробуй измерить прозрачность в полной темноте. Свойства предмета не изменяются, но нет света - нет прозрачности. И такого полно. Просто это настолько привычно стало, что трудно понять и принять.

Как и то, что не все, что с использованием классов - ООП. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




Цитата (twin @ 27.01.2016 - 14:43)


Как и то, что не все, что с использованием классов - ООП. smile.gif

Да, но до тех пор пока не начнешь использовать Объекты =)


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (bestxp @ 27.01.2016 - 10:52)
Да, но до тех пор пока не начнешь использовать Объекты =)

Ну ладно, буду называть "экземпляры". Это что, ЭОП будет?

Объект != экземпляр, хоть с этим ты согласишься? smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
YVSIK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



★___★mvccmv.ru★___★
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3940
Пользователь №: 25563
На форуме: 5 лет, 11 месяцев, 7 дней
Карма: 63

Трезвый :
45 лет, 9 месяцев, 5 дней


Цитата (twin @ 27.01.2016 - 14:43)
соответственно нечего измерять.

относительно,, света, люксов будет ноль и то)) возможно не будет отрицательного значения
потому как в природе нет точки отсчета, протому и есть теория относительности

хотя природа космоса и подразумевает отсутствие света как такового, но кто знает,
физику других измерений, что для чукчи тепло а что для негра?
со светом история будет та\же
кошка замечательно видит в темноте, но это не значит что её нет,
есть возможность увидеть или не увидеть wink.gif


--------------------
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (YVSIK @ 27.01.2016 - 10:57)
относительно,, света, люксов будет ноль и то

Вот именно. Темнота, это когда люксов ноль. Нету. Ни одного. Ни даже намека. Вообще. Так что измерить тогда? В каких единицах измерить темноту, если не измерять свет ввиду его полного отсутствия? Это чисто гипотетическое измышление. Для простоты речи. Чтобы не говорить " так мало света, что я практически ничего не виджу", мы говорим - "темно, как у негра в жопе".

Если четко следовать законам физики, нужно говорить : "освещенность ануса афроамериканца недостаточна для различения предметов моим зрением".

Что касается
Цитата (YVSIK @ 27.01.2016 - 10:57)
потому как в природе нет точки отсчета, протому и есть теория относительности

согасен, но мы сейчас о насущном говорим, о мирском. Иначе можно в такие дебри залезть...

Допустим можно сделать вывод - человек бессмертен. Потому что смерти нет. Нельзя описать смерть обычными понятиями. Нельзя её ощутить. Потому что пока ты что-либо ощущаешь - ты живой. А как становишься мертвым - уже ничего не ощущаешь. А чего нельзя ощутить, того значит нету. А раз смерти нет, значит человек бессмертен - ура. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 2 дня
Карма: 40




twin, холод это инкапсулированное условие на основе состояния двух объектов, у нас есть объект воздух, вода или другой объект, у него есть свойство температура, у нас есть другой объект, например человек, у него есть свойство максимальной и минимальной температуры когда телу человека комфортно, если температура за пределами запускаются определенные механизмы. При том, эти пределы для каждого человека могут отличаться.

Если упрощенно и утрируя, то получится так

class Human
{
protected $minTemp = 23;
protected $maxTemp = 26;
protected $bodyTemp = 36.6;

protected $oxygen;

protected function checkTemp()
{
if ($this->oxygen->getTemp() > $this->maxTemp) {
$this->bodyTemp += 0.1;
}
if ($this->oxygen->getTemp() < $this->maxTemp) {
$this->bodyTemp -= 0.1;
}

// тут вызов проверок на состояние тела
}

public function breathe($oxygen)
{
$this->oxygen = $oxygen;
$this->checkTemp();
}
}


while(true) {
$human->breathe($oxygen);
}


В процедурке, где нет возможности сохранить состояние объекта и инкапсулировать его проверку, такой код невозможно реализовать. Ты напишешь код, который будет номинально выполнять похожие функции, но у тебя будет один общий контекст и дальнейшее его расширение приведет к лютым простыням. Кстати, статический класс это тоже объект, но с одним экземпляром, то есть, такая себе одиночка. Так что его вообще к процедурке нельзя относить. А вот функции, но без использования static, пожалуйста.

P.S: Короче опять пошли в параллели с реальным миром :(


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

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


chee
Я даже комментировать этот код не буду. Потому что опять все как обычно. Ты написал ООП код и хочешь, чтобы я повторил его процедурно. Не понимая до сих пор, что вообще вся архитектура приложения может быть совершенно иной.

Я вот только одно спрошу.
Цитата (chee @ 27.01.2016 - 11:19)
Кстати, статический класс это тоже объект, но с одним экземпляром, то есть, такая себе одиночка. Так что его вообще к процедурке нельзя относить
Ты хочешь сказать, что код на статических классах - Объектно ориентирован?


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2103
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 3 дня
Карма: 70




twin
Цитата
Объект != экземпляр, хоть с этим ты согласишься?


Я не согласен.

class A {

}


var_dump(new A()); //object(A)


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


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15561
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 2 дня
Карма: 299

Трезвый :
5 лет, 11 месяцев, 12 дней


Цитата (Arh @ 27.01.2016 - 11:46)
Просто переменная с классом называется объектом и всё, связаны там методы между собой или их вообще там нет, тип переменной от этого не меняется.

Тип не меняется. smile.gif Но тут не в этом дело. Тут дело в философии. Что можно называть ООП кодом, а чего нельзя. Равно как и наоборот. Что можно называть процедуркой, а чего нет.

Так вот, я настаиваю, что в ООП объекты должны взаимодействовать между собой. На то они и объекты. Вот у chee есть объект "человек". На него должен воздействовать например объект "холодильник". Или наоборот - "сауна". Это Похоже на ООП.

Но если подпрограммы не взаимодействуют между собой, а только обрабатывают данные, отправляемые им из основной программы (или подпрограммы), и возвращают результат, то это не ООП. И наплевать, функции там используются, классы, экземпляры, библиотеки или объекты, хоть горшком назови.

Возможно это и не процедурное и даже не структурное программирование. Я других определений не знаю. Но не ООП - точно.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (13) « Первая ... 4 5 [6] 7 8 ... Последняя » Закрытая темаСоздание новой темыСоздание опроса