Loading...
 

Object-Oriented

In computer science, an object can be a variable, a data structure, a function, or a method, and as such, is a value in memory referenced by an identifier.

In the class-based object-oriented programming paradigm, object refers to a particular instance of a class, where the object can be a combination of variables, functions, and data structures.1

Object Oriented Analysis and Design

Object-Oriented Analysis and Design (OOAD) is a popular technical approach to analyzing, designing an application, system, or business by applying the object-oriented paradigm and visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.

According to the popular guide Unified Process, OOAD in modern software engineering is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.2

References

SOLID

In object-oriented computer programming, SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible and maintainable.3

A series of Object-Oriented Design articles principally authored by "Uncle Bob", Robert Martin.

Practices

  • Design Patterns in architecture and computer science is a formal way of documenting a solution to a design problem in a particular field of expertise. The idea was introduced by the architect Christopher Alexander in the field of architecture and has been adapted for various other disciplines, including computer science. An organized collection of design patterns that relate to a particular field is called a pattern language.4
  • Design Anti-Patterns is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.5
  • Multitenancy Architecture refers to a principle in software architecture where a single instance of the software runs on a software-as-a-service (SaaS) vendor's servers, serving multiple client organizations.6
  • Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for development.7

Unified Modeling Language (UML)

The Unified Modeling Language (UML) is a standardized way of specifying, visualizing, and documenting the artifacts of an object-oriented software under development (among other things).8

Object-Oriented Programming

Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type.

Many of the most widely used programming languages (such as C++, Delphi, Java, Python etc.) are multi-paradigm programming languages that support object-oriented programming to a greater or lesser degree, typically in combination with imperative, procedural programming. Significant object-oriented languages include Java, C++, C#, Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart9

Object-Oriented Analysis and Design (OOAD) is a popular technical approach to analyzing, designing an application, system, or business by applying the object-oriented paradigm and visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.

According to the popular guide Unified Process, OOAD in modern software engineering is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.10

References

  • Object-Oriented System Development - The original hardcover textbook edition (ISBN 0-201-56355-X) of Object-Oriented System Development by Dennis de Champeaux, Douglas Lea, and Penelope Faure was published by Addison Wesley, copyright © 1993 by Hewlett-Packard Company. You can purchase this book directly from Addison-Wesley by phone at (800)822-6339, or order it through most bookstores. All parties involved have graciously granted permission to create this HTML edition, maintained by Doug Lea. Mail comments to dl at cs.oswego.edu.

OO Programming Languages

There are a number of OO Languages, here are the ones listed at Interact Point...

Interface, Abstract class and Concrete class

Non-OO Programming Languages

There are a number of Non-OO Languages, here are the ones listed at Interact Point...

  • C programming language

1 Wikipedia contributors. (2018, December 24). Object (computer science). In Wikipedia, The Free Encyclopedia. Retrieved 16:53, February 17, 2019, from https://en.wikipedia.org/w/index.php?title=Object_(computer_science)&oldid=875165207
2 Object-oriented analysis and design. (2014, June 18). In Wikipedia, The Free Encyclopedia. Retrieved 15:18, June 23, 2014, from http://en.wikipedia.org/w/index.php?title=Object-oriented_analysis_and_design&oldid=613431419
3 Wikipedia contributors. (2019, February 8). SOLID. In Wikipedia, The Free Encyclopedia. Retrieved 16:57, February 17, 2019, from https://en.wikipedia.org/w/index.php?title=SOLID&oldid=882362051
4 Design pattern. (2013, December 2). In Wikipedia, The Free Encyclopedia. Retrieved 18:14, January 29, 2014, from http://en.wikipedia.org/w/index.php?title=Design_pattern&oldid=584151673
5 Anti-pattern. (2014, January 13). In Wikipedia, The Free Encyclopedia. Retrieved 18:15, January 29, 2014, from http://en.wikipedia.org/w/index.php?title=Anti-pattern&oldid=590509511
6 Multitenancy. (2014, January 28). In Wikipedia, The Free Encyclopedia. Retrieved 18:16, January 29, 2014, from http://en.wikipedia.org/w/index.php?title=Multitenancy&oldid=592868321
7 Iterative and incremental development. (2013, September 30). In Wikipedia, The Free Encyclopedia. Retrieved 06:56, October 12, 2013, from http://en.wikipedia.org/w/index.php?title=Iterative_and_incremental_development&oldid=575127071
10 Object-oriented analysis and design. (2014, June 18). In Wikipedia, The Free Encyclopedia. Retrieved 15:18, June 23, 2014, from http://en.wikipedia.org/w/index.php?title=Object-oriented_analysis_and_design&oldid=613431419
Last edited by MichaelAlber .
Page last modified on Sunday February 17, 2019 17:26:29 UTC.