Реклама на сайте Advertise with us

Чистый ООП

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 14:22       Ответить с цитатойцитата 

Где почитать пучиться стратегии использования ООП без единого if (других условных операторов) на чистом полиморфизме и наследовании? Ну и остальные перегибы в области ООП.

4
 



С нами с 25.12.14
Сообщения: 602
Рейтинг: 441


Передовик Master-X (16.04.2017) Передовик Master-X (01.05.2017) Передовик Master-X (16.05.2017) Передовик Master-X (01.06.2017)
Ссылка на сообщениеДобавлено: 14/03/17 в 17:02       Ответить с цитатойцитата 

а что только без if, лучше на чистейшем OOP вообще без единого оператора smail101.gif


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

и что за каша в голове, какая связь между ООП и оператором if ? smail101.gif

Экскурсии в Праге 2018

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 17:14       Ответить с цитатойцитата 

dizziness: значит ты плохо шаришь в теме.

1
 



С нами с 25.12.14
Сообщения: 602
Рейтинг: 441


Передовик Master-X (16.04.2017) Передовик Master-X (01.05.2017) Передовик Master-X (16.05.2017) Передовик Master-X (01.06.2017)
Ссылка на сообщениеДобавлено: 14/03/17 в 17:21       Ответить с цитатойцитата 

S_Flash: то есть ты хочешь сказать, что хочешь писать код, на php, в котором не будет ни единого if оператора? ок я плохо шарю, удачи! smail54.gif

Экскурсии в Праге 2018

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 17:37       Ответить с цитатойцитата 

dizziness писал:
S_Flash: то есть ты хочешь сказать, что хочешь писать код, на php, в котором не будет ни единого if оператора? ок я плохо шарю, удачи! smail54.gif

1) Я не говорил про php.
2) Я не собираюсь имменно писать код, я хотел почитать.
3) Да, есть такой стиль ООП, где нет if. Так же, как в чистом функциональном подходе нет не единого цикла. Надеюсь хоть тут ты знаешь как обходиться без циклов!!

1
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 14/03/17 в 17:48       Ответить с цитатойцитата 

Хз на счет книг конкретно по этой теме, но можно для начала погуглить тему "if-less programming" и попробовать поизучать Smalltalk для расширения, так сказать, кругозора.

dizziness писал:
хочешь писать код, на php, в котором не будет ни единого if оператора?

Не обязательно без единого. Можно начать с того, чтобы не сувать if-else в любую щель. Как пример:
https://www.refactoring.com/catalog/replaceConditionalWithPolymorphism.html

9
 



С нами с 25.12.14
Сообщения: 602
Рейтинг: 441


Передовик Master-X (16.04.2017) Передовик Master-X (01.05.2017) Передовик Master-X (16.05.2017) Передовик Master-X (01.06.2017)
Ссылка на сообщениеДобавлено: 14/03/17 в 18:11       Ответить с цитатойцитата 

S_Flash: плиз, покажи хоть один реально работающий софт/скрипт(на гитхабе например) на любом языке, где нет ни одного if или его аналога, хочу посмотреть , для общего развития.

Экскурсии в Праге 2018

1
 



С нами с 25.12.14
Сообщения: 602
Рейтинг: 441


Передовик Master-X (16.04.2017) Передовик Master-X (01.05.2017) Передовик Master-X (16.05.2017) Передовик Master-X (01.06.2017)
Ссылка на сообщениеДобавлено: 14/03/17 в 18:13       Ответить с цитатойцитата 

Mika: "сувать if-else в любую щель" это одно, а "без единого if (других условных операторов)@SFlash" это мне кажется совсем другое.

Экскурсии в Праге 2018

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 18:23       Ответить с цитатойцитата 

Mika: спасибо, я в этом направлении и хотел копать.

1
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 14/03/17 в 20:59       Ответить с цитатойцитата 

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

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

меньше кода -> крепче сон

когда был студентом и после завершения универа тоже обмазывался ООП
да так что преподы или например на экзамене задавали вопросы - зачем все усложняеш? на этот вопрос я не мог дать ответа - кроме такого "типа так делают крутые дяди".
повзрослев и поработав с реальными проектами - познал дзен того что ООП не нужно вообще.

Последний раз редактировалось: rickdeckard (14/03/17 в 21:05), всего редактировалось 1 раз

12
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 21:02       Ответить с цитатойцитата 

Интересовал именно теоретический аспект.

1
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 14/03/17 в 21:06       Ответить с цитатойцитата 



дак всеми известная книга банды четырех

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 14/03/17 в 21:16       Ответить с цитатойцитата 

rickdeckard писал:
дак всеми известная книга банды четырех

Да вот лежит передо мной. Была б она на выбор в смысле на разных языках! Или хотябы на Java, а то что-то мне не хочется снова окунаться в указатели и ссылки. icon_smile.gif

1
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 14/03/17 в 21:59       Ответить с цитатойцитата 

Недавно, тоже решил обмазываться.

Вот классные рекомендации: https://www.reddit.com/r/PHP/comments/5ycrzx/anyone_use_vanilla_php/dep2zp9/

1
 



С нами с 16.06.12
Сообщения: 8470
Рейтинг: 313

Ссылка на сообщениеДобавлено: 15/03/17 в 00:10       Ответить с цитатойцитата 

ООП ООП icon_smile.gif
вот пока плюс это не увидел - написал на PHP использую ООП дорген для себя, прикольно. Но скрипты небольшие по быстрому на функциях собираю. Да ещё и если размер кода функций не расширять а делать в 20-30 строк кода, то вообще красиво получается и читаемо )
Я как бы не против ООП, просто если не понимаешь зачем это, то не дорос ещё. Думаю на больших проектах ООП даёт результаты лучше чем на функциях софт. Но какой то генератор, парсер, бродилку и тп имхо проще по быстрому на функциях реализовать. Хотя думаю если куда то наймом идти, где работа с чужим кодом, да и просто при собеседовании для понта ООП нужно знать.
На счёт данного в топике линка https://www.refactoring.com/catalog/replaceConditionalWithPolymorphism.html
глянул - сейчас, по правилам чистого кода, без запаха, case некрасиво использовать из за затруднения чтения кода и непоняток break забыл кодер или не нужен и тп, это несколько секунд задержки анализа когда и необязательно другим человеком, может самому через 2 года придется код свой же читать.

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 15/03/17 в 12:27       Ответить с цитатойцитата 

Давайте в темах ООП забудем про php

1
 



С нами с 03.07.07
Сообщения: 481
Рейтинг: 862

Ссылка на сообщениеДобавлено: 15/03/17 в 15:20       Ответить с цитатойцитата 


Тяжело говорить об ООП безотносительно конкретного языка. К примеру - множественное наследование классов. В JAVA его нет, зато есть множ наследование интерфейсов.
И т.д.
Да и "чистые перегибы" в сторону ООП могут привести к полнейшей непролазной хуйне. Бацхуякс и перед тобой уже какая нибудь фабрика абстрактных фабрик.

python, php, js

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 15/03/17 в 16:48       Ответить с цитатойцитата 

Smarty писал:
Тяжело говорить об ООП безотносительно конкретного языка.

Тяжело, но никто не говорил, что будет легко. Просто большинство не рубит в самом ООП, а только умеют дёргать методы через точки, стрелочки и двоеточия. Я же хочу познать дзен. Имею право? Думаю, да.
Топик называется "Чистый ООП", странно, что многие путают его с "Практическим ООП".

1
 



С нами с 03.07.07
Сообщения: 481
Рейтинг: 862

Ссылка на сообщениеДобавлено: 15/03/17 в 17:26       Ответить с цитатойцитата 

S_Flash писал:
Топик называется "Чистый ООП", странно, что многие путают его с "Практическим ООП".

Сферическим конем в вакууме попахивает.
Просто как ни крути любой паттерн тебе не на пальцах же будут разъяснять а на каком то языке.
Взять элементарный синглтон. Вроде все понятно, но в той же джаве он несколькими правильными вариантами м.б. реализован. Не считая
Код: [развернуть]

к примеру от Joshua Bloch.
А потом "ну тут же не ленивая инициализация, давайте другой синглтон".

0
 



С нами с 29.11.14
Сообщения: 254
Рейтинг: 575


Передовик Master-X (01.02.2021) Передовик Master-X (16.02.2021) Передовик Master-X (01.04.2021) Передовик Master-X (16.04.2021) Передовик Master-X (16.06.2022) Ветеран трепа Master-X (01.12.2022)
Ссылка на сообщениеДобавлено: 15/03/17 в 19:20       Ответить с цитатойцитата 

Посмотри синтаксис языка erlang , там похожий вынос мозга как ты хочешь

9
 

💀💀💀

С нами с 31.05.10
Сообщения: 4689
Рейтинг: 728

Ссылка на сообщениеДобавлено: 17/03/17 в 18:47       Ответить с цитатойцитата 

-

Последний раз редактировалось: Ailk (21/09/17 в 10:14), всего редактировалось 1 раз

2
 



С нами с 20.11.13
Сообщения: 27
Рейтинг: 30

Ссылка на сообщениеДобавлено: 25/03/17 в 03:02       Ответить с цитатойцитата 

Православный Gof
ООП

1
 



С нами с 03.07.07
Сообщения: 481
Рейтинг: 862

Ссылка на сообщениеДобавлено: 01/04/17 в 22:11       Ответить с цитатойцитата 

В ФВ сразу смотреть с целью понять лаконичный подход к ООП это утопия имхо. Скорее всего ничего вы не поймете почему что то сделано именно вот так и почему автор принял такое решение. В другом ФВ решение такой же задачи может быть другим и тоже правильным. Из стана yii-стов к примеру в Ларавелистов и обратно можно кучу плевков набрать и в принципе согласиться с мнением и тех и других. Написать свой велосипед и гордиться им.

Если начинать приучать себя к правильному программированию на ООП то прежде всего нужно понять имхо СОЛИД подход и оглядываться на него при построении архитектуры приложения.
Конкретно по курсам можно Головача посмотреть. Они для джавистов конечно, там есть вода, самолюбование автора но в принципе человек живым языком рассказывает что и как применять. Там же он и литературу приводит. ГОФ-ов тех же самых.
Надеюсь вам хватит того же Головача чтобы понять, что истина не в правильных паттернах и том как вы красиво вот тут декоратор влепили и без ифов остались.

В программировании здравый смысл все таки более важен чем следование прямой линии генпартии от паттернов и тд. И прочитать несколько книжек по паттернам, посмотреть обучающие лекции даст знания для прохождения собеседования но не подскажет вам как построить правильную архитектуру приложения с ходу.
Это как смотреть рекламу форекс клубов. Типа вот тут вы купили доллар по такой цене а тут продали по другой и получили профит. В реальности это редко бывает.
Как будто у вас не было никогда заказчиков которые в середине проекта хотят куда-то пятое колесо влепить в типа вашу идеальную модель.
Поэтому ну нету православного ООП. Даже в Jave создатели Spring местами поклали болт на ООП и выдали концепцию АОП. Имели право.

И конкретно из ООП: наследование таки нарушает инкапсуляцию. Это не православно. Давайте кодить композициями! Но это вообще богохульство и есть контрпримеры!
А еще можно начать спорить в интернетах на тему преимуществ толстых моделей или контроллеров. Так глядишь и жизнь незаметно пройдет.

8
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 02/04/17 в 11:26       Ответить с цитатойцитата 

Smarty: то что я знаю функциональное программирование и хвостовые рекурсии, не факт, что я применяю его на практике всегда в чистом виде. Всё же цикл, как и другим кодерам, так и машине будет проще для проглатывания. То же отношение у меня к чистому ООП, что он может где-то даже отжирать производительность, не говоря уже про то, что время на проектирование мелочей.
Но у меня проблемы с частью паттернов ООП. Хотел бы познать полный дзен. А там где надо быстрый и реальный продакшн, я и в императивном стиле накатаю, и не дрогнет у меня!..

1
 



С нами с 03.07.07
Сообщения: 481
Рейтинг: 862

Ссылка на сообщениеДобавлено: 02/04/17 в 21:27       Ответить с цитатойцитата 

Мне по СОЛИД кстати лекции от Pluralslight понравились - SOLID Principles of Object Oriented Design. Разбирается каждый принцип с плохим примером, объясняется почему это плохо в том числе и с UML диаграммами, добавляются интерфейсы, рефакторится пример.
Вот там приямо с опен-клозед принципа начинают мастерски от ифов избавляться xD

8
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »