The Clean Architecture

Source: Internet
Author: User

Http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

Over the past few years, we have seen a lot of articles on system architecture, including:

    • Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in the IR wonderful bookgrowing Object oriented software
    • Onion Architecture by Jeffrey Palermo
    • Screaming Architecture from a blog of mine last year
    • DCI from James Coplien, and Trygve Reenskaug.
    • BCE by Ivar Jacobson from his bookObject oriented software engineering:a use-case driven approach
Although these architectures differ in detail, they are very similar in general. They all focus on the goal of separation. These goals are to tier software. Each layer contains at least a business rule or interface (interface).

These architectures have the following characteristics:

1. The Independent framework

These schemas do not depend on the loading of some particular library. This way you can take the framework as a tool and be constrained by the constraints of the framework.


2. testability

Business rules can be tested without a user interface, a database, a Web server, or other external factors.


3. Stand-alone user interface

The user interface can be easily changed without changing the rest of the system. A Web user interface can be replaced with a console without changing the business rules.


4. Stand-alone database

You can switch to Oracle, or SQL SERVER,MONGO,BIGTABLE,COUCHDB, or any other database. Your business rules are not tied to a specific database.


5. Independent external agents

In fact, your business rules should not be touched by the presence of the outside world.


The idea behind the beginning of the article is to integrate the ideas that make these architectures.


The rest of the parts are not translated. You need to see the original.


The Clean Architecture

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.