Object-oriented design: a responsibility-driven approach

  title={Object-oriented design: a responsibility-driven approach},
  author={Rebecca Wirfs-Brock and Brian Wilkerson},
  booktitle={Conference on Object-Oriented Programming Systems, Languages, and Applications},
Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and extended. The full benefit of this support can only be realized if encapsulation is maximized during the design process. We argue that design practices which take a data-driven approach fail to maximize encapsulation because they focus too quickly on the implementation of objects. We propose an alternative object-oriented design method which takes… 

The case for encapsulated inheritance

The authors present several problems that occur when inheritance is allowed to violate encapsulation, highlighting their impact on the software development and maintenance processes, along with proposed solutions to them.

Object-Oriented Support for Generic Application Frames 1

This work proposes a tool for designing Generic Application Frames based on the careful structuring of past experience as well as domain information that can be achieved by applying object-oriented design techniques to describe both software components and development methods.

Improving object-oriented analysis

Generic Ownership: a Practical Approach to Ownership and Confinement in Object-Oriented Programming Languages

Generic Ownership is presented which provides perobject ownership on top of a generic imperative language and not only provides ownership guarantees comparable to the established systems, but also requires few additional language mechanisms to achieve them due to full reuse of generic types.

An Object-Oriented Design Methodology

The methodology proposed in this paper is the result of a research project in object-oriented design, and benefited from the experience acquired during the design of the Tactical Database for the Low Cost Direction System.

Object oriented approach for information systems

  • C. RamamoorthyP. Chillakanti
  • Computer Science
    TENCON '91. Region 10 International Conference on EC3-Energy, Computer, Communication and Control Systems
  • 1991
The concepts and terms used to describe the various aspects of object oriented approach are defined; an object oriented model is presented and its characteristics are discussed; the application is demonstrated with an example of a manufacturing company; and some of the research issues that need to be addressed in object oriented systems are discussed.

Object Models and Methodology for Object-Oriented Database Design

This paper presents a methodology for object-oriented database design that aims at reaching these objectives through stages of different abstraction levels (conceptual, logical, and implementation stages), the use of models and graphical notations.

The Common Interface Oriented Architectural Framework to Improve Compatibility of the Pure Object Oriented Cross Languages Interoperability

The research prove the Common Compatible and Interoperable Architectural Framework to develop system to any pure cross languages platform as Java Virtual Machine technological languages like Scala, Ruby, Java and Microsoft Visual Studio languages like vb.net, c#.net and .cobol.net.

Enhancing Reusability and Simplifying the OO Development with the Use of Events and Object Environment

This paper proposes an event-driven approach to OO software development which enhances reusability by increasing the openness of objects and provides a simple composition principle based on concepts of events and object environment.

A redesign of NEC2 using the object-oriented paradigm

  • D. NitchA. Fourie
  • Computer Science
    Proceedings of IEEE Antennas and Propagation Society International Symposium and URSI National Radio Science Meeting
  • 1994
This paper presents an object-oriented design of NEC2, the software design philosophy in vogue was that of structural decomposition or procedural programming.



Object-oriented programming: an objective sense of style

We introduce a simple, programming language independent rule (known in-house as the Law of Demeter#8482;) which encodes the ideas of encapsulation and modularity in an easy to follow form for the

Using Types and Inheritance in Object-Oriented Languages

This paper looks at how types, subtyping, and inheritance are used in object-oriented languages and discusses the different ways that types and type hierarchies can be used to structure programs.

SELF: The power of simplicity

Because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures, and offers new insights into object-oriented computation.

Object-oriented programming ; an evolutionary approach

The author describes the development of an object-oriented C language compiler, and how it can be put to work.

On understanding types, data abstraction, and polymorphism

A λ-calculus-based model for type systems that allows us to explore the interaction among the concepts of type, data abstraction, and polymorphism in a simple setting, unencumbered by complexities of production programming languages is developed.

A overview of modular smalltalk

The programming language Modular Smalltalk is introduced, a descendant of the Smalltalk-80 programming language, designed to support teams of software engineers developing production application programs that can run independently of the environment in which they are developed.

An Overview of Modular Smalltalk

The programming language Modular Smalltalk is introduced, a descendant of the Smalltalk-80 programming language, designed to support teams of software engineers developing production application programs that can run independently of the environment in which they are developed.

C++ Programming Language

Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.

Smalltalk-80: The Language and Its Implementation

This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.

Formulations and benefits of the law of demeter

This paper expands on the initial ideas and presents a new perspective with which to view the Law, based on client/supplier relationships between methods and classes and allows a cleaner description of the benefits of the Law.