Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
oop-concordance.rtf
Скачиваний:
6
Добавлен:
10.02.2016
Размер:
2.04 Mб
Скачать

209 Usage is atypical] See [Booch 94, pp 154-155] for a brief discussion of

664 than one object to be exposed. See [Kim ch 4, pp70-71 (D. Moon)] for an

1080 [Garfinkel 93, p80] and [Cox 91, pp 64-67]. To extend Garfinkels example with

1435 oriented analysis methods. Journal of Object Oriented Programming (JOOP), pp

1441 and Design Methods - Comparison and Critique. IEEE-Comp, Oct, 1992, pp 22-39.

1457 Press, Hawaii) 1993, Vol. IV, pp. 689-698.

1464 Vol.35, No.9, pp35.

1469 Oriented Design," The Communications of ACM, (33, 9) Sept. 1990, pp. 104-1124.

2339 Weiser. Software --- Practise and Experience vol 18(9), pp 807-820.

2490 Reinhold, 1990, 503pp, $43, ISBN 0-442-20672-0. While this is

2496 Science Conference, ACM, Inc., New York, NY, 1990, pp. 161-165.

2500 New York, NY, 1991, pp. 165-177.

2502 Journal, April, 1989, pp. 69-74.

2504 of 11th. TOOLS USA Conference, Santa Barbara, Aug 1993, pp 407-426.

2507 Northwest Conference on Software Quality, 1990, pp. 309-324.

2516 ACM, Inc., pp. 68 - 80.

2524 Maintenance, pp. 100-105. IEEE Computer Society, October 1989.

2528 The Smalltalk Report, Vol. 1, No. 9, pp.3-7. The author's

2544 Object-Oriented Programs", IEEE Software, July 1991, pp. 72-80.

2572 Programming, June, 1991, Vol. 4, No. 3, pp. 10 - 27.

2586 Press, Los Alamitos, CA., pp. 272-281.

2588 Magazine, Vol. 2, No. 2, July-August 1992, pp17-18. SIGs

problem

55 Challenges of object-oriented design are addressed by several methodologies. Most common is known as the design patterns codified by Gamma et al.. More broadly, the term "design patterns" can be used to refer to any general, repeatable solution to a commonly occurring problem in software design. Some of these commonly occurring problems have implications and solutions particular to object-oriented development.

63 Both object-oriented programming and relational database management systems (RDBMSs) are extremely common in software today. Since relational databases don't store objects directly (though some RDBMSs have object-oriented features to approximate this), there is a general need to bridge the two worlds. The problem of bridging object-oriented programming accesses and data patterns with relational databases is known as Object-Relational impedance mismatch. There are a number of approaches to cope with this problem, but no general solution without downsides.[20] One of the most common approaches is object-relational mapping, as found in libraries like Java Data Objects and Ruby on Rails' ActiveRecord.

65 OOP can be used to associate real-world objects and processes with digital counterparts. However, not everyone agrees that OOP facilitates direct real-world mapping (see Negative Criticism section) or that real-world mapping is even a worthy goal; Bertrand Meyer argues in Object-Oriented Software Construction that a program is not a model of the world but a model of some part of the world; "Reality is a cousin twice removed". At the same time, some principal limitations of OOP had been noted. For example, the Circle-ellipse problem is difficult to handle using OOP's concept of inheritance.

69 verbs).] This problem may cause OOP to suffer more convoluted solutions than procedural programming.

78 Joe Armstrong, the principal inventor of Erlang, is quoted as saying "The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle."

95 problem domain." and [Cox 91]: "anything with a crisply defined boundary"

102 the problem at hand." [Shlaer 88, p 14] defines: "An object is an abstraction

107 and on identifying objects: "What are the *things* in this problem? Most of

111 understanding of the problem domain and [Jacobson 92] provides a novel approach

707 that form the vocabulary of the problem domain, and in OOD, we invent the

711 "OOA is the challenge of understanding the problem domain, and then the

713 "To us, analysis is the study of a problem domain, leading to a specification

721 "Whereas OOA typically focuses upon one specific problem at a time, domain

728 "Systems analysis states what is done for a specific problem in a domain

745 concepts (objects and classes), a particular problem within a problem domain

820 A problem domain has many realizations, or differing OOAs. An OOA has many

1394 on C++. [[ The lack of type-tests in C++ was a problem in other designs.]]

1549 arenas besides the distributed system problem, the Group supports Special

1889 is separated from the means of distribution and the problem of

2304 particular problem with temporary values produced by C++ overloaded

frameworks

13 Object-oriented programming developed as the dominant programming methodology in the early and mid 1990s when programming languages supporting the techniques became widely available. These included Visual FoxPro 3.0, C++[citation needed], and Delphi[citation needed]. Its dominance was further enhanced by the rising popularity of graphical user interfaces, which rely heavily upon object-oriented programming techniques. An example of a closely related dynamic GUI library and OOP language can be found in the Cocoa frameworks on Mac OS X, written in Objective-C, an object-oriented, dynamic messaging extension to C based on Smalltalk. OOP toolkits also enhanced the popularity of event-driven programming (although this concept is not limited to OOP). Some[who?] feel that association with GUIs (real or perceived) was what propelled OOP into the programming mainstream.

16 More recently, a number of languages have emerged that are primarily object-oriented yet compatible with procedural methodology, such as Python and Ruby. Probably the most commercially important recent object-oriented languages are Visual Basic.NET (VB.NET) and C#, both designed for Microsoft's .NET platform, and Java, developed by Sun Microsystems. Both frameworks show the benefit of using OOP by creating an abstraction from implementation in their own way. VB.NET and C# support cross-language inheritance, allowing classes defined in one language to subclass classes defined in the other language. Developers usually compile Java to bytecode, allowing Java to run on any operating system for which a Java virtual machine is available. VB.NET and C# make use of the Strategy pattern to accomplish cross-language inheritance, whereas Java makes use of the Adapter pattern[citation needed].

118 Frameworks*(Typical) - Abstract MO meant for reuse and extension

128 * There was a Software Frameworks Assoc. and magazine until last year, but

357 only define new frameworks but to specialize existing system frameworks

359 frameworks can interoperate together simultaneously. This is a good example

361 specialization to provide new frameworks.

741 objects, and kits [frameworks]. OORA analysts and OOD designers will

1514 frameworks; an abstract framework for object-oriented systems; a set

2010 Subject: re-post: NCR Cooperative Frameworks (new phone no.)

2016 NCR Cooperative Frameworks(TM) were first released for sale

2018 1991 as "the frameworks" part of the NCR COOPERATION(TM)

2020 Cooperative Frameworks release 3.0 makes the product

2023 Cooperative Frameworks is a distributed object foundation

2026 Cooperative Frameworks consists of an integrated suite of

2037 NCR Cooperative Frameworks currently has two portable ORB

2050 Cooperative Frameworks come with predefined object services

2077 NCR Cooperative Frameworks run on multiple UNIX platforms,

2080 Frameworks has been demonstrated on Novell NetWare v3.11,

2109 Cooperative Frameworks

operating

16 More recently, a number of languages have emerged that are primarily object-oriented yet compatible with procedural methodology, such as Python and Ruby. Probably the most commercially important recent object-oriented languages are Visual Basic.NET (VB.NET) and C#, both designed for Microsoft's .NET platform, and Java, developed by Sun Microsystems. Both frameworks show the benefit of using OOP by creating an abstraction from implementation in their own way. VB.NET and C# support cross-language inheritance, allowing classes defined in one language to subclass classes defined in the other language. Developers usually compile Java to bytecode, allowing Java to run on any operating system for which a Java virtual machine is available. VB.NET and C# make use of the Strategy pattern to accomplish cross-language inheritance, whereas Java makes use of the Adapter pattern[citation needed].

137 oriented databases and operating systems (object id's). A "proxy" based

1334 relational databases and see APPENDIX E, Papers, Persistent Operating Systems.

1354 3.6) What Are Object-Oriented Operating Systems?

1356 Object-Oriented Operating Systems provide resources through objects, sometimes

1382 See also APPENDIX E, PAPERS, Persistent Operating Systems entry.

1384 Insight ETHOS: On Object-Orientation in Operating Systems

1387 operating systems. The language used was Oberon-2. It includes

1395 ETHOS was implemented as an operating system for the Ceres computers

1607 of developers, operating systems and hardware; and enhance long-

1764 operating systems, networking protocols or where application objects are

1807 3.1 or Windows NT operating systems from Microsoft(R) Corp., once

1980 Operating System C++ Compiler Release

2045 computers, operating systems and networks

2048 networks of heterogeneous computers, operating

2049 systems and network operating systems

2126 updating a collection of incompatible hardware platforms, operating

2132 application program and the operating system and that, in a

2134 would have been provided by the application's native operating

2137 differences between operating systems, network protocols, databases,

2236 operating systems, and multiple DBMSs.

parametric

40 records are basis for understanding objects if function literals can be stored in fields (like in functional programming languages), but the actual calculi need be considerably more complex to incorporate essential features of OOP. Several extensions of System F<: that deal with mutable objects have been studied;[18] these allow both subtype polymorphism and parametric polymorphism (generics)

917 object-oriented polymorphism. This is a special case of parametric

920 (parametric type), or a common structure), with this common structure being

926 definitions of polymorphism, as divided into two major forms, parametric and

930 "Parametric polymorphism is obtained when a function works uniformly on a range

935 Parametric polymorphism is also referred to as "true" polymorphism, whereas

939 subtypes and subclasses (inheritance). Strachey's parametric polymorphism is

940 divided into parametric and inclusion polymorphism, which are closely related,

943 |-- parametric

956 Parametric Polymorphism: a polymorphic function has an implicit or explicit

962 The two forms of "Universal Polymorphism", parametric and inclusion are closely

965 Parametric polymorphism is referred to as generics. Generics can be syntactic,

974 Implicit parametric polymorphism can be implemented with type inferencing

1125 any common functions for the more general subtyping or parametric polymorphic

1143 parametric polymorphism, so no inheritance is required. This is "true" or

1144 "pure" statically (or strongly) checked parametric polymorphism, by Strachey's

1148 parametric polymorphism without static constraints (by Strachey's definition).

1154 in OO. Parametric polymorphism is a related concept where this is also true,

1179 this issue in Emerald. The same issue arises in parametric polymorphism

1204 pure parametric polymorphism (as is also commonly found in OO languages in

1208 Short Answer: Parametric Polymorphism (although various implementations

providing

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]