Map
Index
Random
Help
th

QuoteRef: meyeB9_1990

topics > all references > ThesaHelp: references m-o



ThesaHelp:
ACM references m-z
ThesaHelp:
references m-o
Topic:
programming with a database of modules
Topic:
reusable programming
Topic:
function library
Topic:
object-oriented packages
Topic:
type hierarchy
Topic:
object-oriented classes
Topic:
requirement specification by assertion
Topic:
declarative vs. procedural representation
Topic:
fundamental concepts such as type, attributes, relationships are all the same
Topic:
object-oriented procedures
Topic:
abstract data type
Topic:
separate a module's interface specification from its implementation
Topic:
object-oriented data types
Topic:
integer values and operations
Topic:
import/export lists for defining an interface
Topic:
type inheritance as reuse
Topic:
non-hierarchical classification and multiple classification
Topic:
frozen representation
Topic:
dynamic type checking
Topic:
generic operations and polymorphism
Topic:
dynamic vs. static data type
Topic:
interface type
Topic:
object serialization
Topic:
type parameter
Topic:
types of object-oriented classes
Topic:
problems with type inheritance
Topic:
object-oriented templates and containers
Topic:
names as rigid designators
Topic:
descriptive naming
Topic:
change notification
Group:
parameters

Reference

Meyer, B., "Tools for the new culture: Lessons from the design of the Eiffel libraries", Communications of the ACM, 33, 9, pp. 68-88, September 1990. Google

Quotations
70 ;;Quote: the major design goal for Eiffel was mass-produced software components
70 ;;Quote: in object-oriented programming, reuse classes; a method is not reusable independently of its class
70 ;;Quote: should gather object classes into clusters or libraries; limit cycles in the client relation to a cluster
70 ;;Quote: each class and routine in an Eiffel library is formally specified with preconditions, postconditions, and invariants
71 ;;Quote: a query with no arguments may be implemented by an attribute or a function; otherwise implement with a function
71+;;Quote: a query returns information about an object
71 ;;Quote: objects should be known via formally specified operations rather than by implementation; i.e., by abstract data type
71 ;;Quote: an Eiffel class is a data type; includes basic types such as integers
71 ;;Quote: an Eiffel class exports externally visible features; all other features are internal
72 ;;Quote: characterize Eiffel inheritance by "is-plus-but-except"; instance of parent with new, hidden or changed features and changed type signatures
72 ;;Quote: a redefined Eiffel feature must include an equal or weaker precondition and an equal or stronger postcondition; satisfies contract
72 ;;Quote: Eiffel allows multiple inheritance; also used to combine abstract behavior (deferred class) with an implementation
72 ;;Quote: a deferred Eiffel class specifies an object's behavior with assertions but does not provide a full implementation
72 ;;Quote: for software reuse must be able to freeze some elements of behavior while leaving others open; e.g., Eiffel's deferred classes
72 ;;Quote: inheritance allows for polymorphic variables to become attached at run-time
72+;;Quote: an entity is declared with a static type and associated with a dynamic type at runtime; all dynamic types must be descendants
73 ;;Quote: dynamic binding allows a class to manipulate polymorphic entities without testing the type; e.g., t.postorder traverses many kinds of trees
73 ;;Quote: Eiffel can flatten a class to incorporate all inherited definitions; simplifies distribution
74 ;;Quote: Eiffel's generic classes have type parameters; can restrict a type parameter to descendants of a given class
75 ;;Quote: Eiffel can call or be used by utilities written in other languages; allows full use of Eiffel's structuring capabilities
75 ;;Quote: large-scale reuse can't be based on source code; need external, abstract properties
76 ;;Quote: a precondition limits the cases that a routine must be prepared to handle; simplifies the code
77 ;;Quote: the short or abstract form of an Eiffel class gives its interface and assertions without implementation details
78 ;;Quote: descendants of a class gains access to its implementation; may redefine as needed
78 ;;Quote: Eiffel's Data Structure Library defines a taxonomy for data structures by access method, traversing, and storage; e.g., CONTAINER class
79 ;;Quote: Eiffel uses consistent names across classes; e.g., use 'add' instead of 'push' for STACK
80 ;;Quote: class invariants specify the conventions for borderline cases, initial states, etc.; e.g., can position a CHAIN object before the start
82 ;;Quote: use imperative verbs for procedures; nouns for attributes and functions; adjectives or questions for boolean queries
83 ;;Quote: an 'obsolete' routine in Eiffel generates a compile-time descriptive message and does not appear in the class's short form
83 ;;Quote: a routine should not include parameters for options; e.g., use move routine instead of a parameter for position


Related Topics up

ThesaHelp: ACM references m-z (280 items)
ThesaHelp: references m-o (268 items)
Topic: programming with a database of modules (94 items)
Topic: reusable programming (77 items)
Topic: function library (50 items)
Topic: object-oriented packages (6 items)
Topic: type hierarchy (18 items)
Topic: object-oriented classes (66 items)
Topic: requirement specification by assertion (28 items)
Topic: declarative vs. procedural representation (53 items)
Topic: fundamental concepts such as type, attributes, relationships are all the same (37 items)
Topic: object-oriented procedures (41 items)
Topic: abstract data type (64 items)
Topic: separate a module's interface specification from its implementation (86 items)
Topic: object-oriented data types (29 items)
Topic: integer values and operations (13 items)
Topic: import/export lists for defining an interface (20 items)
Topic: type inheritance as reuse (27 items)
Topic: non-hierarchical classification and multiple classification (16 items)
Topic: frozen representation (6 items)
Topic: dynamic type checking (43 items)
Topic: generic operations and polymorphism (65 items)
Topic: dynamic vs. static data type (19 items)
Topic: interface type (50 items)
Topic: object serialization (13 items)
Topic: type parameter (34 items)
Topic: types of object-oriented classes (18 items)
Topic: problems with type inheritance (20 items)
Topic: object-oriented templates and containers (27 items)
Topic: names as rigid designators (43 items)
Topic: descriptive naming (29 items)
Topic: change notification (19 items)
Group: parameters   (10 topics, 145 quotes)

Collected barberCB 9/90
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.