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

1166 Used for assignment compatibility forcing an assigned object to inherit

association

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.

522 Some prefer association to MI, claiming "roles" (as defined in [Rumbaugh 91])

assuming

909 polymorphous adj. having, assuming, or passing through many or various forms,

916 (or type) when assuming or becoming an object of a derived class characterizes

assurance

2488 on quality assurance.

2527 Klimas, Edward "Quality Assurance Issues for Smalltalk Based Applications",

attempt

20 Benjamin C. Pierce and some other researchers view as futile any attempt to distill OOP to a minimal set of features. He nonetheless identifies fundamental features that support the OOP programming style in most object-oriented languages:

143 in 1989 through the notion of assignment attempt, also known as type narrowing.

attribution

4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.

authentication

1728 storage, a Kerberos-based authentication service, a location service, a

2203 authentication and access

automatically

2283 language which will automatically reclaim objects which are no longer used.

2315 drops to zero the object is automatically deallocated. However this

avenue

1380 2550 Garcia Avenue

1657 19447 Pruneridge Avenue

avoids

494 This avoids code redundancy, since code would have to be copied and modified

2534 designing software that avoids acyclic component

background

2015 Product Background -

2251 education. The broad technical and business systems background of our

banana

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."

bases

471 specified as virtual (virtual bases) are shared within the same class lattice,

518 the issues of shared bases and member conflict resolution. But most modern

behave

933 different types (which may not exhibit a common structure) and may behave in

1045 "Polymorphism" means that the same operation may behave differently on

believes

1608 range maintenance of that code. As an organization, OMG believes

1751 HP believes it is best positioned to help customers take advantage of

bibliography

702 See also section 3.7, the Annotated Bibliography, and APPENDIX D. The

703 classified bibliography in [Booch 94] also contains entries on OOA(B), OOD(F)

bi-monthly

1591 > First Class (Bi-Monthly Newsletter)

1592 First Class is OMG's non-commercial bi-monthly 28-page

bindings

53 The Document Object Model of HTML, XHTML, and XML documents on the Internet have bindings to the popular JavaScript

2088 Languages used for IDL mapping - IDL bindings for C, (or

books

2265 3.8.7) Books, Articles, And Literature (OMG

2545 Love, Tom. Object Lessons. SIGS Books, 588 Broadway #604, New York, NY

borland

1994 Microsoft Windows NT Borland NOW

2084 NCR, HP Softbench Sun SPARCworks and Borland IDE.

brian

2550 Marick, Brian. The Craft of Software Testing, Prentice-Hall, in press.

2555 Narick, Brian. "Testing Software that Reuses", Technical Note 2, Testing

bruce

2643 which includes a simple Tester class written by Bruce Samuelson

2644 (bruce@utafll.uta.edu). It is a general superclass for application

bt

2510 Validation and Testing of Object Oriented Systems, BT Technol

2512 jgraham@axion.bt.co.uk.

bundled

5 In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are either bundled in with the data or inherited from "class objects." These act as the intermediaries for retrieving or modifying the data they control. The programming construct that combines data with a set of methods for accessing and managing those data is called an object. The practice of using subroutines to examine or modify certain kinds of data, however, was also quite commonly used in non-OOP modular programming, well before the widespread use of object-oriented programming.

1727 exercising objects, a bundled object database for persistent object

calif

1741 PALO ALTO, Calif.--(BUSINESS WIRE) via First! -- Hewlett-Packard Company

1960 exhibition in San Francisco, Calif., June 1993. Since then it has rolled

captured

733 The key to reusable software is captured in domain analysis in that it

737 their development histories, knowledge captured from domain experts,

car

2 In the domain of object-oriented programming an object is usually taken to mean an ephemeral compilation of attributes (object elements) and behaviors (methods or subroutines) encapsulating an entity. In this way, while primitive or simple data types are still just single pieces of information, object-oriented objects are complex types that have multiple pieces of information and specific properties (or attributes). Instead of merely being assigned a value, (like int =10), objects have to be "constructed". In the real world, if a Ford Focus is an "object" - an instance of the car class, its physical properties and its function to drive would have been individually specified. Once the properties of the Ford Focus "object" had been specified into the form of the car class, it can be endlessly copied to create identical objects that look and function in just the same way. As an alternative example, animal is a superclass of primate and primate is a superclass of human. Individuals such as Joe Bloggs or John Doe would be particular examples or 'objects' of the human class, and consequently possess all the characteristics of the human class (and of the primate and animal superclasses as well).

categories

108 the things are likely to fall into the following five categories: Tangible

114 object categories [Jacobson 94]:

causing

450 its interface, causing code duplication (and a messy interface).

1226 disadvantage when causing dynamic compilation (leading to a time

centerline

2676 TestCenter from CenterLine will do coverage testing of C++ (and C)

2678 testing. Highlights from CenterLine literature:

challenges

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.

2128 To simplify the technical challenges, reduce the time and effort

choosing

823 selection from among various languages for implementation (choosing the best

2475 was choosing a basis for the next five years of work, wouldn't you feel

cite

9 An object-oriented program may thus be viewed as a collection of interacting objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent "machine" with a distinct role or responsibility. The actions (or "methods") on these objects. The terms "objects" and "oriented" in something like the modern sense of object- oriented programming seem to make their first appearance at MIT in the late 1950s and early 1960s. In the environment of the artificial intelligence group, as early as 1960, "object" could refer to identified items (LISP atoms) with properties (attributes); Alan Kay was later to cite a detailed understanding of LISP internals as a strong influence on his thinking in 1966.[3] Another early MIT example was Sketchpad created by Ivan Sutherland in 1960-61; in the glossary of the 1963 technical report based on his dissertation about Sketchpad, Sutherland defined notions of "object" and "instance" (with the class concept covered by "master" or "definition"), albeit specialized to graphical interaction. Also, an MIT ALGOL version, AED-0, linked data structures ("plexes", in that dialect) directly with procedures, prefiguring what were later termed "messages", "methods" and "member functions".

43 This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (August 2009)

clouds

1392 It reviews other designs such as Clouds and Choices which where written

1393 It reviews other designs such as Clouds and Choices which where written

cohesion

638 and cohesion, multiple-polymorphism reduces program complexity by avoiding

894 encapsulation and abstraction (higher cohesion

collected

2417 Garbage collected programs are usually as fast and responsive as

2421 scheduling destructor calls smoothly. Of course, garbage collected programs

columbiasc

2009 From: Randy Volters <randy.volters@columbiasc.ncr.com>

2110 Email: Randy.Volters@ColumbiaSC.NCR.COM

comas

1647 Andrew Comas

1648 comas@nyo.dec.com (212) 856-2507

combinations

398 combinations of state and environment (sometimes with complex rules).

1633 o [Combinations]

combined

1756 HP ORB PLUS: CORBA AND DCE COMBINED

1832 combined into one application. The Developer's Kit is scheduled to be

combines

5 In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are either bundled in with the data or inherited from "class objects." These act as the intermediaries for retrieving or modifying the data they control. The programming construct that combines data with a set of methods for accessing and managing those data is called an object. The practice of using subroutines to examine or modify certain kinds of data, however, was also quite commonly used in non-OOP modular programming, well before the widespread use of object-oriented programming.

1757 HP ORB Plus is the only environment that combines the complete CORBA 1.1

command

61 Behavioral patterns : Chain-of-responsibility pattern, Command pattern, Interpreter pattern, Iterator pattern, Mediator pattern, Memento pattern, Observer pattern, State pattern, Strategy pattern, Template method pattern, Visitor pattern.

1508 (*) development of command models and a common interface for the development

comparisons

1428 Summaries and comparisons will be provided in future FAQs. Suggestions for

2317 decrements, three increments and six comparisons) and cannot reclaim

compilation

2 In the domain of object-oriented programming an object is usually taken to mean an ephemeral compilation of attributes (object elements) and behaviors (methods or subroutines) encapsulating an entity. In this way, while primitive or simple data types are still just single pieces of information, object-oriented objects are complex types that have multiple pieces of information and specific properties (or attributes). Instead of merely being assigned a value, (like int =10), objects have to be "constructed". In the real world, if a Ford Focus is an "object" - an instance of the car class, its physical properties and its function to drive would have been individually specified. Once the properties of the Ford Focus "object" had been specified into the form of the car class, it can be endlessly copied to create identical objects that look and function in just the same way. As an alternative example, animal is a superclass of primate and primate is a superclass of human. Individuals such as Joe Bloggs or John Doe would be particular examples or 'objects' of the human class, and consequently possess all the characteristics of the human class (and of the primate and animal superclasses as well).

1226 disadvantage when causing dynamic compilation (leading to a time

composed

8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.

2219 The DOME software system is composed of the core DOME product, DOME

composite

60 Structural patterns : Adapter pattern, Bridge pattern, Composite pattern, Decorator pattern, Facade pattern, Flyweight pattern, Proxy pattern

117 Megaobjects - Composite objects (~ subsystems with inheritance)

computation

11 The Smalltalk language, which was developed at Xerox PARC (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67.[9] Smalltalk and with it OOP were introduced to a wider audience by the August 1981 issue of Byte Magazine.

1837 and computation products and systems recognized for excellence in quality

concentrate

1763 can concentrate on the application itself without needing to know multiple

2212 savings while freeing systems personnel to concentrate on critical

concurrent

81 Rich Hickey, creator of Clojure, described object systems as over simplistic models of the real world. He emphasized the inability of OOP to model time properly, which is getting increasingly problematic as software systems become more concurrent.

790 incremental, iterative, evolutionary, concurrent and situational nature of

condition

283 competence, or condition".

905 Polymorphism 1. State or condition of being polymorphous. 2. Cryall.

conf

1281 , Java Report & Conf:

2523 Hoffman, D. M. A CASE Study in Module Testing. In Proc. Conf. Software

configurations

1897 can be derived from existing ones and the resulting configurations

2467 also be testable under different OS configurations, different compiler

considerations

646 considerations.

659 doesn't support multiple-polymorphism and either efficiency considerations

consistently

46 Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Scala, Smalltalk, Eiffel, JADE, Emerald.

643 switching on a single argument per call (but for 2 levels), consistently

constructing

369 and constructing object systems. Natural means we use concepts,

1853 paradigm for constructing complex applications out of collections of

contained

1104 OO), called its most derived class. An object not directly contained in any

1621 contained response to the Request for Proposals (RFP) issued by

containers

2400 multiple containers, leaving many memory management issues unaddressed.

2405 Any components or libraries that use containers with different memory

contract

17 Just as procedural programming led to refinements of techniques such as structured programming, modern object-oriented software design methods include refinements[citation needed] such as the use of design patterns, design by contract, and modeling languages (such as UML).

71 Responsibility-driven design defines classes in terms of a contract, that is, a class should be defined around a responsibility and the information that it shares. This is contrasted by Wirfs-Brock and Wilkerson with data-driven design, where classes are defined around the data-structures that must be held. The authors hold that responsibility-driven design is preferable.

cooperation

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

2021 available apart from COOPERATION.

cornell

1716 implementation" developed at Cornell, Ithaca NY.)

1846 From: rcbc@cs.cornell.edu (Robert Cooper)

corporation

1649 Digital Equipment Corporation.

2099 NCR Corporation (An AT&T Company)

corresponds

778 Universal Process Model roughly corresponds to the Waterfall Model [Royce 70].

970 "Subtyping on record types corresponds to the concept of inheritance

cox

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

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

creation

524 hierarchy "creation" mechanism, however this loses polymorphism and loses the

2074 - Network Configuration Tools - simplifies creation of

critical

75 Christopher J. Date stated that critical comparison of OOP to other technologies, relational in particular, is difficult because of lack of an agreed-upon and rigorous definition of OOP. Date and Darwen propose a theoretical foundation on OOP that uses OOP as a kind of customizable type system to support RDBMS.

2212 savings while freeing systems personnel to concentrate on critical

critique

759 [Yourdon 92] provides a critique, although may only refer to their earlier

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

cross-language

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].

curriculum

82 Carnegie-Mellon University Professor Robert Harper in March 2011 wrote: "This semester Dan Licata and I are co-teaching a new course on functional programming for first-year prospective CS majors... Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum. A proposed new course on object- oriented design methodology will be offered at the sophomore level for those students who wish to study this topic."

customer

1828 customer input can be incorporated into the product early in its development

2249 Customer Support

dan

82 Carnegie-Mellon University Professor Robert Harper in March 2011 wrote: "This semester Dan Licata and I are co-teaching a new course on functional programming for first-year prospective CS majors... Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum. A proposed new course on object- oriented design methodology will be offered at the sophomore level for those students who wish to study this topic."

727 within this area. - Dan McNicholl

dbmsfacts

1336 From: dbmsfacts@aol.com (DBMSfacts)

dbmss

2228 It can read and write data across numerous DBMSs, and it makes

2236 operating systems, and multiple DBMSs.

deallocate

2287 Without GC programmers must explicitly deallocate dynamic storage when

2292 2: In some circumstances the decision about whether to deallocate

decision

232 program should encapsulate or hide a single design decision... The interface

2292 2: In some circumstances the decision about whether to deallocate

declaring

3 "Objects" are the foundation of object-oriented programming, and are fundamental data types in object-oriented programming languages. These languages provide extensive syntactic and semantic support for object handling, including a hierarchical type system, special notation for declaring and calling methods, and facilities for hiding selected fields from client programmers. However, objects and object-oriented programming can be implemented in any language.

978 uses inclusion polymorphism; its used in declaring classes, and subclass

decoupling

33 Decoupling refers to careful controls that separate code modules from particular use cases, which increases code re-usability. A common use of decoupling in OOP is to polymorphically decouple the encapsulation (see Bridge pattern and Adapter pattern) - for example, using a method interface which an encapsulated object must satisfy, as opposed to using the object's class.

defining

395 Defining inheritance (with a thorough description or denotational semantic

1073 providing statically-typed dynamic binding (this is really just defining simple

delegating

214 differences are significant too:-) Delegation refers to delegating the

1243 to the delegating of responsibility and can be applied to inheritance. When a

delete

457 More specifically, dynamic inheritance refers to the ability to add, delete,

2396 delete, placing the memory management burden on the client, who must call

deletion

2357 determine the last use of an object and provide deletion. This makes reuse

2398 b) Switches indicating deletion. Many applications must clear the switch to

deliverables

2248 Support and Deliverables

2256 Deliverables

denote

161 Members will denote both instance variables and methods. Inheritance is

1016 variable declaration) may denote objects of many different classes that are

dependencies

1229 dependencies and expand code size (unlike a single-body or "true"

2535 dependencies. This in-turn permits incremental,

dependent

510 The former is a kind of language dependent feature commonly found in object-

2262 Disk space and memory requirements are dependent on the installation

dept

1698 > CS Dept. University of Zurich, Switzerland. maffeis@ifi.unizh.ch

1706 CS Dept. University of Zurich, Switzerland. maffeis@ifi.unizh.ch

depth

98 in depth. [Martin 92, p 241] defines: "An "object" is anything to which a

2311 length, include file nesting and macro stack depth. This causes

descriptor-

133 The implementation of objects could roughly be categorized into descriptor-

134 based, capability-based, and simple static-based approaches. Descriptor-

designing

1485 Wirfs-Brock, R. et.al. - Designing object-oriented software, 1990.

2534 designing software that avoids acyclic component

desktop

1082 operation (along with parameters) to any object on the desktop, each of which

1749 integrated, desktop access to enterprise-wide information and resources in

determination

1535 OMG Board of Directors makes a final determination for technology adoption.

2382 execution to make a compile-time determination of the last user of an

determines

21 Dynamic dispatch – when a method is invoked on an object, the object itself determines what code gets executed by looking up the method at run time in a table associated with the object. This feature distinguishes an object from an abstract data type (or module), which has a fixed (static) implementation of the operations for all instances. It is a programming methodology that gives modular component development while at the same time being very efficient.

957 type parameter which determines the type of the argument for each

developer's

1830 For the generally available Developer's Kit, C++, C and Smalltalk

1832 combined into one application. The Developer's Kit is scheduled to be

dfd's

764 models, and even DFD's. Booch, Jacobson, and Wirfs-Brock are examples of OO

817 methodologies, such as the analysis (DFD's) to design (structure charts) to

diagram

484 class diagram, all routines and structure available in class Computer are

485 available to all subclasses throughout the diagram. All attributes available

differences

214 differences are significant too:-) Delegation refers to delegating the

2137 differences between operating systems, network protocols, databases,

differentiation

679 differentiation is possible without static types, as in Smalltalk, and no

680 actual argument differentiation is possible without dynamic types (as in C++

differently

839 Level 1: Initial: Every project is handled differently; ad hoc and chaotic.

1045 "Polymorphism" means that the same operation may behave differently on

discussed

2404 d) Reference counting, which was already discussed.

2540 ("Insulation") is also discussed.

disparate

4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.

2235 enterprise's physical environment of multiple nodes, disparate

distinguished

325 distinguished class, the metaclass.

641 method, but perhaps exponentially. This should be distinguished from double

domains

1528 many application domains and which will be made available through OMA

2198 - Hierarchical namespace with true domains for complete

dominant

8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.

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.

doms

1724 CORBA Implementation Descriptions: HD_DOMS

1726 CORBA-compliant DOMS. Includes a GUI API driver for prototyping and

doong

2497 Doong, Roong-Ko and Phyllis G. Frankl, "Case Studies on Testing

2505 Frankl, Phyllis G. and Roong-Ko Doong, "Tools for Testing

dos

1358 They are almost always distributed systems (DOS or DPOS), allowing objects to

1688 Implements ORB spec, DOS

downcasting

142 dynamic typing (checked downcasting) similar to those introduced by Eiffel

1131 downcasting (historically known as type narrowing), the thrust of RTTI, can

driven

113 driven design. Jacobson also calls for managing complexity with specialized

2386 of an object. For example, event driven GUI programs frequently have no

dropped

176 static typechecking requirements are dropped. See section 2.5.

675 are dropped, multiple-polymorphism results. Thus a single overridable function

dynamically-typed

1146 Smalltalk is an example of a dynamically-typed language which does not check

1287 Dynamically-Typed:

ecmascript

54 ECMAScript language. JavaScript is perhaps the best known prototype- based programming language, which employs cloning from prototypes rather than inheriting from a class. Another scripting language that takes this approach is Lua. Earlier versions of ActionScript (a partial superset of the ECMA-262 R3, otherwise known as ECMAScript) also used a prototype-based object model. Later versions of ActionScript incorporate a combination of classification and prototype-based object models based largely on the currently incomplete ECMA-262 R4 specification, which has its roots in an early JavaScript 2 Proposal. Microsoft's JScript.NET also includes a mash-up of object models based on the same proposal, and is also a superset of the ECMA-262 R3 specification.

education

1839 business, engineering, science, medicine and education in approximately 110

2251 education. The broad technical and business systems background of our

effectively

1823 interfaces to use objects effectively. So developers don't need to create

2136 To do this effectively, middleware must be able to interpret the

effort

742 interact on a fairly frequent basis with the domain analysis effort.

2128 To simplify the technical challenges, reduce the time and effort

embley

1406 Embley [Embley 92]

emerging

738 underlying theory, and emerging technology within the domain." - Kang et al.

2141 As a result, middleware is quickly emerging as the best solution for

emphasizing

8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.

274 intensional definition, emphasizing a class as a descriptor

employees

1840 countries. HP has 94,900 employees and had revenue of $16.4 billion in its

2123 task of connecting employees with the information they need. In a

enabling

8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.

1777 DCE standard. This object- enabling technology specification was jointly

encapsulated

33 Decoupling refers to careful controls that separate code modules from particular use cases, which increases code re-usability. A common use of decoupling in OOP is to polymorphically decouple the encapsulation (see Bridge pattern and Adapter pattern) - for example, using a method interface which an encapsulated object must satisfy, as opposed to using the object's class.

38 encapsulated state

encountered

436 inheritance by simply accessing the first name encountered for data members

437 and by accessing the first signature match (or ambiguity) encountered for

encourages

5 In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are either bundled in with the data or inherited from "class objects." These act as the intermediaries for retrieving or modifying the data they control. The programming construct that combines data with a set of methods for accessing and managing those data is called an object. The practice of using subroutines to examine or modify certain kinds of data, however, was also quite commonly used in non-OOP modular programming, well before the widespread use of object-oriented programming.

1606 encourages reuse of code; allows useful integration across lines

end-user

1554 3) End-User Requirements;

1561 end-user or vendor, can become a member of this body. Administrative

enforce

4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.

46 Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Scala, Smalltalk, Eiffel, JADE, Emerald.

enforced

56 It is intuitive to assume that inheritance creates a semantic "is a" relationship, and thus to infer that objects instantiated from subclasses can always be safely used instead of those instantiated from the superclass. This intuition is unfortunately false in most OOP languages, in particular in all those that allow mutable objects. Subtype polymorphism as enforced by the type checker in OOP languages (with mutable objects) cannot guarantee behavioral subtyping in any context. Behavioral subtyping is undecidable in general, so it cannot be implemented by a program (compiler). Class or object hierarchies need to be carefully designed considering possible incorrect uses that cannot be detected syntactically. This issue is known as the Liskov substitution principle.

979 polymorphism is used in practice but not enforced. For inheritance, inclusion

enhance

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

2679 *Automatic run-time error-checking on executables to enhance quality

enterprise-wide

1749 integrated, desktop access to enterprise-wide information and resources in

1787 system administrators and end users language-neutral, enterprise-wide,

entities

41 Attempts to find a consensus definition or theory behind objects have not proven very successful (however, see Abadi & Cardelli, A Theory of Objects[18] for formal definitions of many OOP concepts and constructs), and often diverge widely. For example, some definitions focus on mental activities, and some on program structuring. One of the simpler definitions is that OOP is the act of using "map" data structures or arrays that can contain functions and pointers to other maps, all with some syntactic and scoping sugar on top. Inheritance can be performed by cloning the maps (sometimes called "prototyping"). OBJECT:=>> Objects are the run time entities in an object-oriented system. They may represent a person, a place, a bank account, a table of data or any item that the program has to handle.

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