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

295 1.4) What Is a Meta-Class? (Object-Oriented Technology)

297 A Meta-Class is a class' class. If a class is an object, then that object

301 the work of being a class. This can be declared in a class named "Meta-Class".

302 The Meta-Class can also provide services to application programs, such as

315 programs (no Meta-Class except for in the compiler and perhaps for type-safe

320 Meta-Class. The Meta-Class is a class and is therefore an instance of

328 of specialized Meta-Classes for classes. There is still a Meta-Class as in

329 a 3 Level System, but as a class it also has a specialized Meta-Class, the

330 "Meta-Class class" and this results in a 5 Level System:

334 Meta-Class

335 Meta-Class class

343 class (Meta-Object), a class is an instance of a Meta-Class, which must also

346 a Meta-Class being an instance of itself or with a "Meta-Class - Meta-Class

581 Meta-Class) and because C++ classes are not accessible to programs. Classes

585 meta-class). In 1 Level (single-hierarchy) systems, all classes are objects.

587 In a Level 3 System and above yes, but only instances of a Meta-Class are

process

228 [Booch 91, p. 45] defines: "Encapsulation is the process of hiding all of the

277 extensional view, which may begin the analysis process).

735 "The process of identifying, collecting, organizing, and representing the

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

781 Process Models for finer grained analysis and design in the Defined Process

815 the process is often referred to as seamless, meaning there is no conceptual

832 in the US [Humphrey 89]. The CMM also serves as a 5 level improvement process

834 leading to statistical (process) control and sustained improvement. Watts S.

835 Humphrey is now working on the Personal Software Process (PSP), a scaled down

837 based software process (TSP?). Other CMM's in the works at the SEI include a

842 Level 4: Managed: A measurable basis for all improvements to the process.

845 improving the process.

853 Kitson, D.H. and Masters, S. "An Analysis of SEI Software Process Assessment

856 Humphrey, W., Snyder, T. and Willis, R. "Software Process Improvement at

858 Dion, R., "Elements of a Process Improvement Program," IEEE Software, July

860 "Concepts on Measuring the Benefits of Software Process Improvement,"

872 found in [Jacobson 92], and along with recent business process "reengineering"

2231 underlying vendor in order to process requests. From the user's

reference

912 Polymorphism is the ability of an object (or reference) to assume (be replaced

918 polymorphism, which allows an object (or reference) to assume or become any

1029 of an object can ever change. Only a reference can be polymorphic: ...".

1033 Self and Smalltalk, which allows an object (and not just a reference) to

1049 object (pointer or reference (or such parameter)) is assignment compatible with

1103 a reference) is defined to be an instance of exactly one class (in classical

1108 class, if a polymorphic object (or reference) is made to refer to an object,

1516 (reference model) for distributed applications using object-oriented

1517 techniques. To fill out this reference model, four areas of

1533 particular parts of the reference model architecture. After passage

1539 Request Broker portion of the reference model. This technology, adopted

2313 One partial solution to a lack of GC is reference counting. In this

2318 circular data structures. Two systems that use a reference count GC

2325 [Further, GC can perform compaction improving locality of reference.]

2362 Attempts to encapsulate memory management with reference counting, the "poor

2363 man's garbage collector", are usually misguided. Reference counting has worse

2368 collection has completely solved the above problems and made reference

2376 of an object or the object itself. Programmers sometimes use reference

2404 d) Reference counting, which was already discussed.

representation

45 Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed. Concerning the degree of object orientation, following distinction can be made:

70 OOP was developed to increase the reusability and maintainability of source code. Transparent representation of the control flow had no priority and was meant to be handled by a compiler. With the increasing relevance of parallel hardware and multithreaded coding, developer transparent control flow becomes more important, something hard to achieve with OOP.

217 also typically specifies non-shared state when used for representation.

248 a class. A Stack's representation, such as a list or array, will usually be

250 within subclasses (also called derived classes). A Stack's representation

253 all members (its representation). Eiffel 3.0 allows exporting access to

502 favor of a static type (or even loss of an object's representation to that of

525 use of inheritance for typical classification. Representation "roles" can be

663 handling, like C++ friends, usually by allowing representation details of more

669 representation and not type.

997 with respect to representation (subclassing). An example of inclusion

1150 inheritance for subclassing (representation).

1151 2.7) What Is A Separation Between Type And Class (Representation)? (Typing - Object-Oriented Technology)

1158 values. This can insure type-safe programming. However, the representation of

1161 In many languages, a type has a single representation insuring all operations

1163 efficiency by taking advantage of that representation wherever used. In many

1170 This also insures all types share a common representation, or at least a

1172 By separating type from class, or representation (or perhaps separating class

1194 also specify representation. Subtyping is therefore most useful to avoid

request

1459 may continue to request hard copies. We are currently extending the paper

1519 1) the Object Request Broker, or key communications element, for

1525 realising basic object functionality using the Object Request Broker -

1539 Request Broker portion of the reference model. This technology, adopted

1543 application request handling software "bus."

1611 groundwork for technology response to Request for Proposals (RFP)

1613 > The Common Object Request Broker: Arch. and Spec. (Corba)

1614 The CORBA, as defined by the OMG's Object Request Broker (ORB),

1619 object systems. The Common Object Request Broker Architecture and

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

1654 Full implementation of the OMG CORBA 1.1 Object Request Broker. Also DOMF.

1680 > ORBELINE - The SMART Object Request Broker - PostModern Computing

1695 and Object Request Broker (ORB).

1819 HP's DOMF includes the object request broker, interface- definition-

1918 CORBA Implementation Descriptions: ORBELINE - The SMART Object Request Broker

1919 ORBeline is a complete implementation of OMG's Common Object Request

1939 of the Object Management Group's (OMG's) Common Object Request Broker

2160 Calls (RPC), Message-Oriented Middleware (MOM), and Object Request

2180 DOME also provides object services beyond the Object Request Broker

state

22 Encapsulation (or multi-methods, in which case the state is kept separate)

38 encapsulated state

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.

84 "An object has state, behavior, and identity; the structure and behavior of

194 definitions with classes (and only associate state and class with objects,

198 or shared state, otherwise idiosyncratic objects, a powerful and natural

217 also typically specifies non-shared state when used for representation.

383 respecify state by default.

384 Inherited parents can specify various flavors of state. Delegation languages

385 don't specify new state by default (to do so requires cloning), C-based (C++,

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

547 state "that a language is object-oriented if and only if it satisfies the

550 operations and a hidden local state.

594 Behavior is how an object acts and reacts, in terms of its state changes

597 can access the internal state of an object of that class to perform some

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

1452 State University, Atlanta, USA, 1992, 163 pages.

2333 This is an excellent summary of the state of the art in GC algorithms. This

2552 simply a special case of testing software which retains state

structure

1 Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Many modern programming languages now support OOP, at least as an option. In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object-oriented programming the same word, "object", refers to a particular instance of a class)

7 Objects can be thought of as wrapping their data within a set of functions designed to ensure that the data are used appropriately, and to assist in that use. The object's methods will typically include checks and safeguards that are specific to the types of data the object contains. An object can also offer simple-to-use, standardized methods for performing particular operations on its data, while concealing the specifics of how those tasks are accomplished. In this way alterations can be made to the internal structure or methods of an object without requiring that the rest of the program be modified. This approach can also be used to offer standardized methods across different types of objects. As an example, several different types of objects might offer print methods. Each type of object might implement that print method in a different way, reflecting the different kinds of data each contains, but all the different print methods might be called in the same standardized manner from elsewhere in the program. These features become especially useful when more than one programmer is contributing code to a project or when the goal is to reuse code between projects.

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.

66 However, Niklaus Wirth (who popularized the adage now known as Wirth's law: "Software is getting slower more rapidly than hardware becomes faster") said of OOP in his paper, "Good Ideas through the Looking Glass", "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours" (contrast KISS principle).

84 "An object has state, behavior, and identity; the structure and behavior of

231 used when developing an overall program structure, that each component of a

266 whereby no method or object structure can be inferred in the general case.

270 of structure (instance variables), behavior (methods), and inheritance

271 (parents, or recursive structure and behavior) for objects. As pointed out

285 "A class is a set of objects that share a common structure and a common

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

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

914 specifies slightly different or additional structure or behavior for an object,

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

931 of types; these types normally exhibit some common structure. Ad-hoc

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

995 more than required. Since derived classes can inherit structure and behavior

2166 and its open platform structure accommodates future technologies.

appendix

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