写点什么

第十周命题作业

用户头像
菲尼克斯
关注
发布于: 2020 年 08 月 13 日

根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。

原谅我,画图实在很有挑战



关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?

中台架构:

业务中台,将不同业务线解决相同问题的解决方案进行抽象与封装,通过配置化、插件化、服务化,实现对于不同业务线的业务支撑。

数据中台,对业务产生的数据进行二次加工,其成果再服务于业务。



领域驱动设计:

过去系统分析和系统设计是分离的,导致需求分析的结果无法直接进行编程,而能够进行编程运行的设计却扭曲需求,客户运行软件后才发现很多功能不是自己想要的,而且软件不能快速跟随需求变化。DDD则打破了这种隔阂,提出了领域模型概念,统一了分析和设计编程,使得软件能够更灵活快速跟随需求变化。领域驱动设计的核心理念是分层、分治,要求在做架构设计时,必须时刻区分此刻所处的是问题域空间还是解决方案域空间。业务及其对应的业务架构是软件要解决的问题,所以业务架构处于问题域空间;而软件系统是业务上的解决方案,所以软件架构处于解决方案域空间。

领域驱动设计的核心是领域模型,而领域模型的设计精髓在于面向对象分析,在于对事物的抽象能力。

领域驱动设计的原则包括识别与聚焦核心域、通过协同共创迭代式探索、使用统一语言。



组件设计原则:高内聚,低耦合

👉复用/发布等同原则:保持组件的重用粒度和组件的发布粒度一致。一个组件中的类要么都可以重用,要么都不是可重用的。

👉共同闭包原则:如果一个应用中的代码需要同时、为统一目的发生修改,尽量让这种修改都集中在一个组件中,而不是分散在多个组件中。

👉共同复用原则:经常共同复用的类和模块放在同一个组件中,不紧密相连的类不应该放在同一个组件中。

👉无依赖环原则:组件依赖关系图中不应该出现环

👉稳定依赖原则:依赖关系必须指向更稳定的方向

👉稳定抽象原则:一个组件的抽象化程度应该与其稳定性保持一致



做作业也是学习的过程,了解到好多概念和设计理念,需要不断地消化、实践。



用户头像

菲尼克斯

关注

还未添加个人签名 2018.05.14 加入

还未添加个人简介

评论

发布
暂无评论
第十周命题作业