The Clean Architecture

本文探讨了多种系统架构,如六边形架构、洋葱架构等,并强调了独立框架、可测试性、独立用户界面、独立数据库及独立外部代理这五大特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在过去几年里,我们已经看到了很多关于系统架构的文章,包括:

虽然这些架构在细节上不同,但总体来说也非常类似。它们都关注分离的目标。这些目标都是将软件分层。每一层最少包含业务规则或者接口(界面)。

这些架构都有下面的特征:

1.独立的框架

这些架构不依赖某些特定库的加载。这样你就能把框架当做工具,而受到框架的制约限制。


2.可测试性

业务规则可以在没有用户界面、数据库、网页服务器或其它外部因素的情况下进行测试。


3.独立的用户界面

用户界面可以很容易改变,而不用改变系统的其它部分。一个网页用户界面可以用控制台替换,同时,还不用改变业务规则。


4.独立的数据库

你可以切换到Oracle,或者SQL Server,Mongo,BigTable,CouchDB,再或者其它的数据库。你的业务规则不和特定数据库绑定。


5.独立的外部代理

事实上,你的业务规则不应该感触到外部世界的存在。


文章开始的那个图就是希望能这些架构的理念都集成在一起。


剩下的部分不翻译了。有需要的看原文吧。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值