Open mylamour opened 5 years ago
软件架构的过程中,SOA,微服务,基于领域驱动的架构设计,敏捷开发,一大堆的名词早已经听得不能再多了。(只有当你身临其境的参与到其中,才能真正的感受到)。 本文简要纪录一下架构图的设计。 一般来讲有以下两种方式(ps:此处就不贴出每张图的具体事例了):
但是需要明确的是,首先你要知道你画的图是给谁看的。你要告诉他什么。不同的人不可能看到同一个图去干活的,也不一定都能看的懂。逻辑视图给谁看,开发视图给谁看。只有在最初的时候明确了要传递什么样的意图给别人。才能去好好的画每张图。
(更官方的定义参考百科) 物理视图: 什么系统在什么位置。 逻辑视图: 这些系统干什么事,有哪些功能。 处理视图: 一个请求或者一个数据怎么流向,怎么结束一个流程。 场景视图: 实体和系统的交互 开发视图: 开发怎么完成具体的模块,具体技术栈,基于什么什么。
至于第二种,针对基于容器的微服务设计实现,主要针对于敏捷开发实现。单其实也有类似之处,比如可以样理解,明确你的上下文(场景),有哪些组件(处理,逻辑),然后需要实现什么样的代码(开发)。 至于更官方的可以参考其官网。
针对这些架构图呢,在饿了么以来,由于部门需要和阿里集团侧安全部门合作密切。所以需要梳理架构,在这个过程又思考到以前自己是怎么做的架构设计。结合ATA上的一些经典好文,逐渐产生反思。
总之一句话,知行合一。干了才知道,不干是不知道的。
软件架构的过程中,SOA,微服务,基于领域驱动的架构设计,敏捷开发,一大堆的名词早已经听得不能再多了。(只有当你身临其境的参与到其中,才能真正的感受到)。 本文简要纪录一下架构图的设计。 一般来讲有以下两种方式(ps:此处就不贴出每张图的具体事例了):
但是需要明确的是,首先你要知道你画的图是给谁看的。你要告诉他什么。不同的人不可能看到同一个图去干活的,也不一定都能看的懂。逻辑视图给谁看,开发视图给谁看。只有在最初的时候明确了要传递什么样的意图给别人。才能去好好的画每张图。
(更官方的定义参考百科) 物理视图: 什么系统在什么位置。 逻辑视图: 这些系统干什么事,有哪些功能。 处理视图: 一个请求或者一个数据怎么流向,怎么结束一个流程。 场景视图: 实体和系统的交互 开发视图: 开发怎么完成具体的模块,具体技术栈,基于什么什么。
至于第二种,针对基于容器的微服务设计实现,主要针对于敏捷开发实现。单其实也有类似之处,比如可以样理解,明确你的上下文(场景),有哪些组件(处理,逻辑),然后需要实现什么样的代码(开发)。 至于更官方的可以参考其官网。
针对这些架构图呢,在饿了么以来,由于部门需要和阿里集团侧安全部门合作密切。所以需要梳理架构,在这个过程又思考到以前自己是怎么做的架构设计。结合ATA上的一些经典好文,逐渐产生反思。
总之一句话,知行合一。干了才知道,不干是不知道的。
参考