background preloader

Software Design

Facebook Twitter

Composition over inheritance. This diagram shows how the fly and sound behaviour of an animal can be designed in a flexible way by using the composition over inheritance design principle.[1] Basics[edit] Example[edit] Inheritance[edit] An example in C++ follows:

Composition over inheritance

Object Oriented

Service-oriented architecture. Service-oriented architecture (SOA) is a software design and software architecture design pattern based on discrete pieces of software providing application functionality as services to other applications.

Service-oriented architecture

This is known as service-orientation. It is independent of any vendor, product or technology.[1] A service is a self-contained unit of functionality, such as retrieving an online bank statement.[2] Services can be combined by other software applications to provide the complete functionality of a large software application.[3] SOA makes it easy for computers connected over a network to cooperate. Service-oriented architecture. See also the client-server model, a progenitor concept A Service-Oriented Architecture (SOA) is a design pattern in which software/application components provide services to other software/application components via a protocol, typically over a network and in a loosely-coupled way.

Service-oriented architecture

The principles of service-orientation are independent of any vendor, product or technology.[1] A service is a self-contained unit of functionality, such as retrieving an online bank statement.[2] By that definition, a service is a discretely invokable operation. However, in the Web Services Definition Language (WSDL), a service is an interface definition that may list several discrete services/operations. And elsewhere, the term service is used for a component that is encapsulated behind an interface.