写点什么

训练营 - 第二周 - 作业二

用户头像
行者
关注
发布于: 2020 年 09 月 27 日

面向过程 or 面向对象

2 种编程方法各有其优缺点。

在需求简单、协作少时,面向过程效率更高;在需求复杂、多人协作下,面向对象是更好的选择。


面向过程的本质是面向逻辑,在大规模系统开发中,面向过程的编程方式会导致系统越来越耦合,系统越来越像一个线团。


常见的比如订单系统,要支持各种各样的支付方式,同时支付规则、分摊方式也是个不相同,如果不能很好的抽象,那么这块的需求变更简直是噩梦般的存在。

领域驱动设计 DDD

我们常说要面向对象进行设计,但是到底改如何设计、怎么样才是好的设计,每个人的理解是不一致的。

DDD 提出了一整套方法来规范这个过程,保证最终结果。

可以参考极客时间专栏 - DDD实战课

常用的设计原则

开闭原则

对扩展开放,对修改关闭;不修改,从而保证历史逻辑的正确性。

依赖倒置原则

里式替换原则

单一职责原则

接口分离原则

这些原则要牢记在心,设计时想想是否满足这些原则,当你发现自己的设计都满足这些条件时,那么说明你的设计很优秀了。

Flower 框架设计

Flower 框架设计符合依赖倒置原则,底层实现抽象;符合单一职责原则,Service 只用来处理 process;符合里式替换原则,FlowerService 下的实现可以互相替换。

思考

业界流行框架比如 Spring Netty Tomcat 都设计的很好,在研读这些框架代码时一定不要陷入细节,要从整体去思考这些框架是如何设计与实现。

用户头像

行者

关注

还未添加个人签名 2018.03.09 加入

还未添加个人简介

评论

发布
暂无评论
训练营-第二周-作业二