LINUX.ORG.RU
ФорумTalks

Формальная теория ООП


0

0

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

она вообще существует?
объектное ориентирование, оно как-то соотносится с теорией множеств?

вообще хотелось бы что-то про ОО, но без программирования

★★★★★

Ну, всё -- объекты. Вот и вся теория. Есть конечно недоязыки типа c++, где не всё объекты. А вот в Java, или в Objective C, объекты -- всё. Вот и вся теория.

anonymous
()

ООП -- это "Отец Онотоле Представляет"?

anonymous
()
Ответ на: комментарий от anonymous

формальная теория задаётся 4-мя элементами:
алфавитом
множеством формул
множеством аксиом
совоукпностью правил вывода

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

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

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

p.s. статьи с википедии просветления не приносят, они написаны неформально

dimon555 ★★★★★
() автор топика

> вообще хотелось бы что-то про ОО, но без программирования

ООП — говно. © Луговской

// заметь, без программирования

anonymous
()
Ответ на: комментарий от anonymous

а сам Луговский, это не AI на Лиспе из 70-ых, которого сюда забросило колебание пространственно-временного континиума, из-за попытки рекурсивного запуска явы на яве с глубиной в 100000 вложений?

p.s. придётся читать история создания симулы и смолтолка

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

> бизнес логика - не является формальной теорией,

если "бизнес-процессы" формализованы, есть метаописания, есть метаданные и онтологии. То является формальной теорией. А чтобы эта формальная модель логики не расходилась с практикой, её саму полезно промоделировать. То есть, составить метамодель. Модель модели корректной теории, методологии.

> каждый под ней понимает то, что захочет.

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

anonymous
()
Ответ на: комментарий от dimon555

чё-то вроде

>формальная теория задаётся 4-мя элементами: >алфавитом

всё-объекты. Класс объектов -- тоже объект, метакласс.

> множеством формул

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

> множеством аксиом

вот с этим сложнее. Что понимать под аксиомами. Наверно, метаклассы, обработку сообщений, какие-то базовые элементы вроде паттернов, категорий, протоколов.

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

> совоукпностью правил вывода

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

Вот интересно бы эту ООП философию переосмыслить в типах Хиндли-Милнера и type inference.

anonymous
()

Вроде не так давно в девелопменте проскакивало, что кто-то закончил труд всей жизни про формализацию ООП или что-то такое.

anonymous
()

>кто-нить видел какие-нибудь толковые книги по сабжу.

Bertrand Meyer. Object Oriented Software Construction.( PDF; 15.8Мб) http://www.zipsites.ru/books/object_oriented/

Бертран Мейер Объектно-ориентированное конструирование программных систем http://www.ozon.ru/context/detail/id/2336754/

>вообще хотелось бы что-то про ОО, но без программирования

ООП http://absurdopedia.wikia.com/wiki/%D0%9E%D0%9E%D0%9F :)

quickquest ★★★★★
()
Ответ на: комментарий от anonymous

>если "бизнес-процессы" формализованы, есть метаописания, есть метаданные и онтологии. То является формальной теорией.

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

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

осталось тогда увидеть формальную теорию бизнес-процессов ;)

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>чё-то вроде

>>формальная теория задаётся 4-мя элементами: >алфавитом


>всё-объекты. Класс объектов -- тоже объект, метакласс.


нет, это всё не то ;)

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

сенькс, толковые ссылки про формализацию и исчисление объектов по этой ссылке.

anonymous
()

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

если описать структуру самолёта с помощью объектно-ориентированного похода, то это автоматически не опишет свойства системы...

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

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

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

Или хочется из готовых аксиом новую теорему вывести?

anonymous
()
Ответ на: комментарий от anonymous

да хотелось бы исследований, а иначе зачем описывать что-то через другую теорию.

описал что-то в виде графа и знаешь, как найти минимальное остовное дерево или кратчайший путь.

там в конце флейма вроде как есть ответ, что класс ненужный термин...

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

и всё это описано в инженерном творчестве.

dimon555 ★★★★★
() автор топика

товарищ Буч имеет только мастер дегри, а это мало + всякие эти UML развивались от практики и до теории так и не добрались...

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от Xellos

>Это формальная система...

я нагло содрал из книги "Программирование. Математические основы, средства, теория." Лавров С.С.

из обсуждения на скл.ру мне понравилось объяснение, что класс - синоним абстрактного автомата, пока буду считать так же

dimon555 ★★★★★
() автор топика
Ответ на: комментарий от dimon555

> класс - синоним абстрактного автомата

ну а для автоматов есть нормальная теория сложных систем, см. ту же книгу Бусленко про кусочно-линейные автоматы

http://64.233.183.104/search?q=cache:waX1yV3BWL8J:www.diclib.com/cgi-bin/d1.cgi%3Fbase%3Dbse%26page%3Dshowid%26id%3D65662+Кусоч...

anonymous
()
Ответ на: комментарий от dimon555

> есть же более общие инженерные эвристики для решения вообще любых проблем: самая общая эвристика разнесение в пространстве и времени.

тут пространство = иерархия классов, самодостаточные типы данных, которые внутри чего-то там обрабатывают, время= поведение системы в целом, взаимодействие нескольких объектов?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.