从零开始学架构(八)分层架构和设计模式

文章大纲

1、  分层架构概述

2、  逻辑分层

3、  表现层设计

4、  逻辑层设计

5、  服务层设计

6、  资源整合层设计

7、  物理分层

8、  JAVA分层实现

9、  文章总结

 

一、分层架构概述

1.1为什么分层

(1)分层的优点

1、职责分离:分层是根据某关注点进行拆分、层次清晰、职责分明;

2、非功能需求:满足良好的非功能性需求(扩展性、灵活性、可伸缩性)

3、技能分工:根据技能进行任务分配,支持并行或协同开发;

(2)分层的缺点

1、增加了系统或代码的复杂度

2、增加了开发难度和开发成本

(3)分层要点

1、职责划分:识别并定义职责“对象”;

2、关注点分离:按职责、按通用专用、按粒度;

3、高内聚,松耦合:基本要求;

1.2分层的视角

                          

(1)业务分层:关注系统的业务和功能拆分;

(2)逻辑分层;关注组件职责和代码结构;

(3)通用性分层:关注通用专用;

(3)物理分层:关注物理结构和部署;

 

1.3 分层视角-不用分层演示

 

二、逻辑分层

三、表现层设计

四、逻辑层设计

五、服务层设计

六、资源整合层设计

七、物理分层

八、JAVA分层实现

九、文章总结

 

十、下篇预告

 技术架构篇

(1)目录结构

(2)开发框架

(3)日志记录

(4)异常架构

(5)事务管理

(6)通用工具

 

PPT下载,请在公众号回复:itfly8-008

序言 自从Martin Fowler对微服务作出定义之后,微服务便火遍大江南北, 网上出现很多文章来描述它的好处,也有很多文章来说明它的弊端。这便 让很多小伙伴无所适从,微服务究竟是什么,要不要使用微服务架构,怎 么实施微服务架构?我一直认为,微服务架构只是新瓶装老酒,这老酒就 是模块化。如果在做系统设计时,已经把模块化做得很好,转型微服务只 是顺理成章的事。如果模块化都做不好,转型微服务只会带来灾难。 2014 年底,我们团队意识到 Docker 技术可以帮我们大幅度提高软 件产品的性能,降低硬件的投入,提高运维效率,便开始着手研发基于 Docker 的 PaaS 平台。随后,很快发现,PaaS 平台只是解决了软件生命周 期后半部分(运维)的问题,就思考能否通过 Docker 技术来提高开发团 队的效率。例如,降低团队成员流动带来的风险,提高多团队协作的效率, 找到组件或知识积累的方法,让同一个软件产品能够适应不同客户的定制 化需求,等等。从此,就与微服务结下了不解之缘。这些目标确定后,通 用的PaaS平台的研发目标也就变成了解决以上问题的微服务平台的研发, 以及后来的青柳云平台本身的微服务化的实践。 在做微服务架构技术选型的时候,我们以“无侵入”和“社区活跃” 为最主要的考量点,也只有这样,将来在升级为原子服务架构、量子服务 架构的时候,甚至是恢复成单体架构的时候,代价才是最小的。所以,在 3 InfoQ 中文站 为数不多的可选项中,我们拥抱了 Spring Cloud。最后的结果就是使用 基于 Docker 的微服务平台进行开发和运行运维支撑,使用 Spring Cloud 进行业务系统开发,两者相互独立,并可被独立替换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值