Pull to refresh
0

Пользователь

2
Subscribers
Send message
Вы ссылаетесь на очень странную книгу, я бы сказал что к современному состоянию ООП она не имеет ни какого отношения, ни проблем ни решений. ООП разнообразен, автор же почему то проигнорировал почти все что было написано до него. Йордон и Код не могут служить основой для критики ООП т.к. представляют только один из вариантов, и некоторые считают этот вариант не правильным.
найди функциональность — найди (или создай) объект, в который эту функциональность надо поместить

Идеологи ООП с вами не согласны. «Правильно» все таки наоборот.
Интерес это совсем про другое. Я придрался к фразе «это ничуть не проще программирования». Вы не уточнили что конкретно имеется в виду, но если вы про работу автослесаря, то она значительно проще.
Может это у вас программирование такое примитивное? Или вы что то запредельное с мотоциклом делаете? Слесарь это все-таки среднее специальное образование.
Я бы ответил на этот вопрос так, чем больше можно инкапсулировать в тип, тем более полезным будет его явное выделение. Так же возможен и вред от выделения типа. Увеличение количества типов ухудшает такую сложно формализуемую метрику как comprehensibility(я не уверен что перевод как понятность или постижимость точно передает суть) это очень важный показатель, но о нем никто никогда не говорит.
То что вы описали, уже классифицировано как антипаттерн Primitive Obsession
Я согласен с тем что вы говорите, и никогда против этого не возражал. Лучше больше знать чем меньше. Суть моего поста в другом, можно успешно разрабатывать без использования формализованных подходов. А одно лишь использование формализованных подходов не дает гарантии успеха. Короче «А системный анализ стоит изучить, если вы желаете быть чем-то большим, нежели просто кодобезьянка.» это заблуждение.
То что вы говорите про образование, это совсем не однозначно. У нас сильная фундаментальная наука, но то что связано с проектированием софта, лично мне сильно не нравится.
Ваше последнее высказывание что мне нечего возразить, я опроверг возразив. Опять возвращаемся к логике. Вы используете доводы в которых позднее сами показываете несоответствия, странная позиция. Не в том что показываете, а в том что используете заведомо зная о этих несоответствиях. Для меня смысл диалога понять позицию собеседника поделиться своим мнением или получить какую то новую информацию. Я уже писал что мне не удается понять вашу позицию. А в чем смысл диалога для вас? Умыть собеседника? Но я то в этом участвовать не хочу.
Не надо свое мнение приравнивать к фундаментальным наукам.
И да, Вест говорит что software engeneering не состоялся. Разработка это не инженерия. Это творческая деятельность.
Я вообще то вот с этим был не согласен «А системный анализ стоит изучить, если вы желаете быть чем-то большим, нежели просто кодобезьянка.» и как я уже говорил, это опровергается практически. Тот факт что вам надо искать, что кто то это использует уже говорит о том что утверждение не верно. Индустрия живет и развивается не заморачиваясь формальными методологиями. Основная тема Веста это то, что научное сообщество уже 4 десятка лет пытается разработать подходы к упорядочиванию процесса разработки, чтобы сделать его более предсказуемым и контролируемым, но пока результата нет. Это творческая деятельность и приравнивание ее к строительству некорректно. Кстати, аджайл это не тоже самое что итеративная разработка. То что вы привели ссылки на википедию, не делает ваши логические выводы про деградацию верными. Я плохо понимаю логическую цепь ваших рассуждений, может быть по этому прогресс для меня не очевиден. А крючкотворство мне мало интересно.
Ключевое слово здесь «формальный», если кто-то что-то использует не осознавая этого, то это что-то уже не может называться формальным.
Я не вижу чтобы наш диалог куда-то двигался, поэтому я решил его завершить.
Я прочитал статью в википедии, мне достаточно того что это еще одна формальная методология. Я не понимаю как можно было не заметить что West отрицает формальные методологии. Это все хорошо в теории, на практике я ни разу ничего подобного не видел. Но может быть вы мне ткнете пальцем где написано что какие то известные компании используют эту методологию? Ну не возможно, чтобы все это использовали и при этом нигде ничего об этом написано не было.
Это ваше мнение про «базовость» я с ним не согласен, нужна ссылка.
Давайте без «наводок», прямой вопрос, прямой ответ. Но потрудитесь привести источники.
Вам свойственно делать сомнительные логические заключения, и обвинять собеседников в безграмотности.
При этом на вопрос о классе со 100500 полями вы зачем-то приводите какую-то ерунду, на на уточняющий вопрос ссылаетесь на NDA. Это совершенно не конструктивное поведение. Не знаете как выйти из диалога? Продолжайте в той же манере и я просто перестану вам отвечать.
Я честно пытался понят ваш ход мыслей, но у меня не получилось, ваш логический вывод для меня не очень логичен, авторитетных источников описывающих вашу картину мира вы не приводите. То что в университетах что то изучают, еще не является доказательством того что это применимо на практике, аджайл как раз является подтверждением того что индустрия отказалась от тяжелых формальных методологий. То что мои источники противоречат вашему мнению вы не видите. Я не вижу смысла продолжать этот диалог.
Если вы все-таки можете привести какие то источники передающие вашу картину мира, буду рад ознакомиться.
И ваше последнее предложение больше относиться к вам, чем ко мне, ни я ни вы не находимся на уровне авторитетного мнения, но постоянно требуя от меня доказательств, которые я, кстати, старался приводить, вы почему то решили что вашего мнения достаточно, Не достаточно. А если учесть тон последнего предложения, на ум приходит только одно «Юпитер, ты сердишься — значит, ты не прав»
Я как то не уловил связи между определением объекта и выводом о деградации.
Я ожидал увидеть объект «вселенная» и 100500 его полей, или имелось в виду что то другое?
Ваше мнение о важности системного анализа и невозможности полноценной разработки без него, на чем то еще основывается кроме вашего мнения? И еще интересно, в свете вашего увлечения формализацией, что вы думаете про аджайл?
Если вы потрудитесь походить по моим ссылкам, то обнаружите что «Wirfs-Brock выступает за децентрализацию контроля» а Trygve Reenskaug и James O. Coplien утверждают что децентрализованное управление менее понятно. Я понимаю, что эти люди не для всех являются авторитетами, но кроме этого я могу только ссылаться на здравый смысл, который должен подсказывать, что централизованный контроль должен быть проще для понимания чем децентрализованный. Это ваше дело, считать это пруфами или нет, но других я предложить не могу.
Я не понял что доказывает ваша ссылка.
В ООП мы описываем предметную область — большой сложный объект. Соответственно, всё, что в неё включено, является полями главного объекта, а связи — определяются методами главного объекта.
Это нам говорит системный анализ.

Я не знаком с такой системой декомпозиции, но могу представить это монструозное творение, когда вся предметная область находиться в одном объекте.
Не могу ничего сказать про системный анализ. меня это область мало интересует, но если системный анализ предписывает делать именно то что вы говорите, то опасаюсь, что это сугубо академическая область против которой прямо и косвенно предостерегают David West и Eric Evans соответственно.
Готового примера нет, есть общие соображения. Функциональную декомпозицию в состоянии выполнить любой человек обладающий алгоритмическим мышлением, в то время как объектная требует определенных навыков. Тут например http://www.wirfs-brock.com/PDFs/How%20Designs%20Differ.pdf автор сравнивает свое видение мира с тем, которое на мой взгляд, получило наибольшее распространение. Централизованный контроль проще понять, но Wirfs-Brock выступает за децентрализацию контроля, а потом проходит 10 лет и появляется вот это https://en.wikipedia.org/wiki/Data,_context_and_interaction где говориться, что взаимодействие объектов нельзя децентрализовывать. Короче, все сложно.
Ну это как сказать, я например, уверен что, несмотря на рассказы про естественность объектов для мышления, функциональная декомпозиция гораздо проще и понятней объектной. И можно даже построить цепочку методов которая будет 1 в 1 как предложение на естественном языке. Что касается вопроса, то это несоответствие имеет место быть, но это такой момент к которому легко привыкнуть и проблем это вызывать не должно.
В том что я привел, инициатор не указан, а получатель сообщения очевидно cup. Но если предполагается отправка сообщения от руки кружке, то эта строка должна вызываться внутри одного из методов руки в виде cup.take(this). Как то так.
Я об этом спрашивал в первом сообщении
Есть-есть. Например, есть вполне общераспространеннное мнение, что ООП — это не ФП или не ПП. Используя этот набор отрицаниц, можно создать некий взгляд.

Был бы консенсус, не было бы споров. Наиболее широко распространенное мнение — да, консенсус — нет.
И нет, я не вижу ничего странного в том, чтобы, встретившись с АК, рассказать, что нынче в мейнстриме называют ООП, и услышать его реакцию.

Рассказать Кею, что в мире делается и предложить ему скорректировать ему свою картину мира, это все-таки не одно и тоже.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity