Browse Definitions :
Definition

clean architecture

Clean architecture is a software design philosophy that separates the elements of a design into ring levels. An important goal of clean architecture is to provide developers with a way to organize code in such a way that it encapsulates the business logic but keeps it separate from the delivery mechanism. 

The main rule of clean architecture is that code dependencies can only move from the outer levels inward. Code on the inner layers can have no knowledge of functions on the outer layers. The variables, functions and classes (any entities) that exist in the outer layers can not be mentioned in the more inward levels. It is recommended that data formats also stay separate between levels.

Clean architecture was created by Robert C. Martin and promoted on his blog, Uncle Bob. Like other software design philosophies, clean architecture attempts to provide a cost-effective methodology that makes it easier to develop quality code that will perform better, is easier to change and has fewer dependencies.

Visually, the levels of clean architecture are organized into an unspecified number of rings. The outer levels of the rings are lower level mechanisms and the inner, higher levels contain policies and Entities.

Here is one example of how rings can be used to map dependencies.
Clean architecture
This was last updated in March 2019

Continue Reading About clean architecture

Networking
  • What is asynchronous?

    In general, asynchronous -- from Greek asyn- ('not with/together') and chronos ('time') -- describes objects or events not ...

  • What is a URL (Uniform Resource Locator)?

    A URL (Uniform Resource Locator) is a unique identifier used to locate a resource on the internet.

  • What is FTP?

    File Transfer Protocol (FTP) is a network protocol for transmitting files between computers over TCP/IP connections.

Security
CIO
  • What is an IT service catalog?

    An IT service catalog is a list of information technology resources and offerings available from the IT service provider within ...

  • What is strategic innovation?

    Strategic innovation is an organization's process of reinventing or redesigning its corporate strategy to drive business growth, ...

  • What is a startup accelerator?

    A startup accelerator, sometimes referred to as a seed accelerator, is a business program that supports early-stage, ...

HRSoftware
Customer Experience
Close