Subject-oriented programming (original) (raw)
In computing, subject-oriented programming is an object-oriented software paradigm in which the state (fields) and behavior (methods) of objects are not seen as intrinsic to the objects themselves, but are provided by various subjective perceptions ("subjects") of the objects. The term and concepts were first published in September 1993 in a conference paper which was later recognized as being one of the three most influential papers to be presented at the conference between 1986 and 1996. As illustrated in that paper, an analogy is made with the contrast between the philosophical views of Plato and Kant with respect to the characteristics of "real" objects, but applied to software ones. For example, while we may all perceive a tree as having a measurable height, weight, leaf-mass, etc., f
Property | Value |
---|---|
dbo:abstract | In computing, subject-oriented programming is an object-oriented software paradigm in which the state (fields) and behavior (methods) of objects are not seen as intrinsic to the objects themselves, but are provided by various subjective perceptions ("subjects") of the objects. The term and concepts were first published in September 1993 in a conference paper which was later recognized as being one of the three most influential papers to be presented at the conference between 1986 and 1996. As illustrated in that paper, an analogy is made with the contrast between the philosophical views of Plato and Kant with respect to the characteristics of "real" objects, but applied to software ones. For example, while we may all perceive a tree as having a measurable height, weight, leaf-mass, etc., from the point of view of a bird, a tree may also have measures of relative value for food or nesting purposes, or from the point of view of a tax-assessor, it may have a certain taxable value in a given year. Neither the bird's nor the tax-assessor's additional state information need be seen as intrinsic to the tree, but are added by the perceptions of the bird and tax-assessor, and from Kant's analysis, the same may be true even of characteristics we think of as intrinsic. Subject-oriented programming advocates the organization of the classes that describe objects into "subjects", which may be composed to form larger subjects. At points of access to fields or methods, several subjects' contributions may be composed. These points were characterized as the join-points of the subjects. For example, if a tree is cut down, the methods involved may need to join behavior in the bird and tax-assessor's subjects with that of the tree's own. It is therefore fundamentally a view of the compositional nature of software development, as opposed to the algorithmic (procedural) or representation-hiding (object) nature. (en) Субъе́ктно-ориенти́рованное программи́рование (англ. subject - oriented programming, SOP; в дальнейшем СОП) — метод построения , как композиции субъектов. Однозначный общепринятый перевод термина subject-oriented programming на русский язык на сегодняшний момент не выработан. В целом СОП включает: * разбиение системы на субъекты; * написание правил для их правильной композиции. СОП дополняет объектно-ориентированное программирование (в дальнейшем ООП), решая проблемы, возникающие при разработке больших систем, при решении задач интеграции и переносимости. Субъект в СОП — это коллекция классов или фрагментов классов, представляющих свою (субъективную) иерархию классов. Субъектом может быть само приложение, либо часть приложения, объединение которой с другими субъектами даёт приложение целиком. Композиция субъектов комбинирует иерархию классов так, что получаются новые субъекты, включающие функциональность существующих субъектов. (ru) Суб'єктно (Істотно)-орієнтоване програмування (англ. subject-oriented programming, SOP; надалі СОП) - метод побудови об'єктно-орієнтованих систем, як композиції суб'єктів. У цілому СОП включає: * Розбиття системи на суб'єкти; * Написання правил для їх правильної композиції. СОП доповнює об'єктно-орієнтоване програмування (надалі ООП), вирішуючи проблеми, які виникають при розробці великих систем, при розв’язанні завдань інтеграції та переносимості. Суб'єкт у СВП - це колекція класів або фрагментів класів, що представляють свою (суб'єктивну) ієрархію класів. Суб'єктом може бути сама програма або частина програми, об'єднання якої з іншими суб'єктами дає програму в цілому. Композиція суб'єктів комбінує ієрархію класів так, що виходять нові суб'єкти, що включають функціональність існуючих суб'єктів. (uk) |
dbo:wikiPageExternalLink | http://www.eclipse.org/technology/archived.php http://www.alphaworks.ibm.com/tech/hyperj http://amethyst.io http://doi.acm.org/10.1145/306363.306389 |
dbo:wikiPageID | 17190754 (xsd:integer) |
dbo:wikiPageLength | 12359 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1112469402 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Programming_paradigm dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Pointcut dbr:Computing dbr:Feature-oriented_programming dbr:Data,_context_and_interaction dbr:Eclipse_(software) dbr:Java_(programming_language) dbc:Object-oriented_programming dbc:Programming_paradigms dbc:Eclipse_(software) dbr:Aspect-oriented_programming dbc:Aspect-oriented_software_development dbr:Plato dbr:Immanuel_Kant dbr:Method_(computer_science) dbr:Aspect-Oriented_Software_Development dbr:Separation_of_concerns dbr:Join-point dbr:Class_(computer_science) |
dbp:wikiPageUsesTemplate | dbt:Programming_paradigms dbt:Anchor dbt:Cleanup_bare_URLs dbt:Em dbt:Reflist |
dcterms:subject | dbc:Object-oriented_programming dbc:Programming_paradigms dbc:Eclipse_(software) dbc:Aspect-oriented_software_development |
gold:hypernym | dbr:Paradigm |
rdf:type | yago:Abstraction100002137 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:Relation100031921 dbo:ProgrammingLanguage yago:WikicatProgrammingParadigms |
rdfs:comment | In computing, subject-oriented programming is an object-oriented software paradigm in which the state (fields) and behavior (methods) of objects are not seen as intrinsic to the objects themselves, but are provided by various subjective perceptions ("subjects") of the objects. The term and concepts were first published in September 1993 in a conference paper which was later recognized as being one of the three most influential papers to be presented at the conference between 1986 and 1996. As illustrated in that paper, an analogy is made with the contrast between the philosophical views of Plato and Kant with respect to the characteristics of "real" objects, but applied to software ones. For example, while we may all perceive a tree as having a measurable height, weight, leaf-mass, etc., f (en) Субъе́ктно-ориенти́рованное программи́рование (англ. subject - oriented programming, SOP; в дальнейшем СОП) — метод построения , как композиции субъектов. Однозначный общепринятый перевод термина subject-oriented programming на русский язык на сегодняшний момент не выработан. В целом СОП включает: * разбиение системы на субъекты; * написание правил для их правильной композиции. СОП дополняет объектно-ориентированное программирование (в дальнейшем ООП), решая проблемы, возникающие при разработке больших систем, при решении задач интеграции и переносимости. (ru) Суб'єктно (Істотно)-орієнтоване програмування (англ. subject-oriented programming, SOP; надалі СОП) - метод побудови об'єктно-орієнтованих систем, як композиції суб'єктів. У цілому СОП включає: * Розбиття системи на суб'єкти; * Написання правил для їх правильної композиції. СОП доповнює об'єктно-орієнтоване програмування (надалі ООП), вирішуючи проблеми, які виникають при розробці великих систем, при розв’язанні завдань інтеграції та переносимості. (uk) |
rdfs:label | Subject-oriented programming (en) Субъектно-ориентированное программирование (ru) Предметно-орієнтоване програмування (uk) |
owl:sameAs | freebase:Subject-oriented programming yago-res:Subject-oriented programming wikidata:Subject-oriented programming dbpedia-ru:Subject-oriented programming dbpedia-uk:Subject-oriented programming https://global.dbpedia.org/id/47hQh |
prov:wasDerivedFrom | wikipedia-en:Subject-oriented_programming?oldid=1112469402&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Subject-oriented_programming |
is dbo:wikiPageRedirects of | dbr:Subject_(programming) dbr:Subjects_(programming) dbr:Hyperj dbr:Hyper/J dbr:Concern_Manipulation_Environment dbr:Subject_oriented_programming |
is dbo:wikiPageWikiLink of | dbr:Subject_(programming) dbr:Index_of_computing_articles dbr:Subject-oriented_business_process_management dbr:Subjects_(programming) dbr:Role-oriented_programming dbr:Aspect-oriented_programming dbr:Hyperj dbr:Separation_of_concerns dbr:Schizophrenia_(object-oriented_programming) dbr:Outline_of_computer_programming dbr:Hyper/J dbr:Concern_Manipulation_Environment dbr:Subject_oriented_programming |
is foaf:primaryTopic of | wikipedia-en:Subject-oriented_programming |