专栏名称: 北斗之光
我是来自高空的光,发光自己,完满自我,光亮万物。 我已加入“维权骑士”(rightknights.com)的版权保护计划。
目录
相关文章推荐
架构师之路  ·  我抢跑了,跟顶级专家学DeepSeek去... ·  2 天前  
架构师之路  ·  神了!最大化deepseek潜能 - ... ·  3 天前  
美团技术团队  ·  预测技术在美团弹性伸缩场景的探索与应用 ·  2 天前  
高可用架构  ·  一次线上生产库的全流程切换完整方案 ·  3 天前  
Java架构师技术  ·  SpringBoot+Flowable:一个 ... ·  3 天前  
Java架构师技术  ·  SpringBoot+Flowable:一个 ... ·  3 天前  
51好读  ›  专栏  ›  北斗之光

框架思维48UML三拍及创造性的来源

北斗之光  · 简书  · 架构  · 2018-02-08 08:52

正文

240

我们不要做三拍之人,有些领导干部就属于三拍之人(三拍:1)“拍脑袋”决策;2)“拍胸脯”保证;3)出了事“拍屁股”走人。)。

当然,还有一种人说架构有三个来源,第一个是“偷窃”,但是就加个引号,或者我们把它叫做拿来主义,鲁迅的这个话拿来主义,然后对于那种创造性不大的东西,更多的是模仿,80%都是拿来就行了。

第二个来源,被称为直觉。

第三个是所谓的经验。经验对于存在的系统,或者说你要做的系统和过往的系统有很大的类似性,当然你可以80%就靠它了,然后再加上你的15%左右的直觉,剩下的就是一点小小的5%的创造性的东西了。

你觉得,三个里面什么最重要?

架构来源

当然,要看情况,如果没干过,那就没法拿来了,所以,经验很重要,那占80%了,剩下直觉占20%,这就很重要了,刚才直觉可能占15%左右的,然后下面就是的这个创造性的东西了,当然了,这里面是有些办法,就是说有这样几种来源,是纠缠在一起的,密不可分的。

241

用例我怎么做?我先搞这几个协作,然后我就很粗略地想一想它是怎么干的,然后这个画类图和交互图,每个协作实现一个用例,然后怎么做类图和交互图,大概把这个故事情节描述一下,下面再去描述另外一个用例。

一般的系统不会只有一个用例的,所以你再去描述下一个用例,再有类似的方式,这时候你就会看到有一些类,分别参加了不同的协作,你就会产生组织的概念了,你就会可能产生一些包的概念,然后把哪些类放在哪里包括这个里面,然后再让它们去参加不同的协作,慢慢的架构就开始形成了。

所以我们说架构的分析,把它叫做基于用例的分析,在分析级别和设计基本上这两个实际上是混在一块的。

通过这两个密不可分的一个动作,或者说架构的分析,这就是我们的架构风格,就是开始对它进行分析,分析的时候,上面一个就是用例,分析的对象就是一个用例,然后一个可能就是这些包了,而这些我们都把它归入了我们架构的范畴。

242

好多人问,我怎么描述我那些分析模型,我的这个领域模型对不对?然后既然领域模型里面只有那些概念之间的关系,领域模型就是那些概念,它们之间有一些内在关系,但是你可以把它粗略的分成一些组是可以的。主要的是画一些类图,领域模型里面99%的都是类图。然后记着领域模型里面没有接口概念,记得不要犯这种低级错误,接口是用来设计可扩展性什么的东西,在这个领域模型里面都是概念不要的,主要的还是考虑定义,简单的属性和一些行为,所以抽象程度要高一点。

那么设计级别上,接口是设计基本上的一个概念。而且这个类型当然我们平常说的比如说有优势,比如说我们有user experience(用户体验),你就不把它分成接口了,把它分成用户界面,这样可能好弄一点,否则它特别会容易和后面的设计级别混在一块。

上面所谈的内容,落脚点在下面的问题,如果你可以把下面的问题搞清楚了,就说明你对这些概念有了很深入的理解了。

243

我们要理解,UML分别从哪些不同的软件项目相关人员的角度,定了七个不同的基本的结构性的事物?类、接口、协作和组件之间有什么内在联系?用例和协作之间有什么内在联系?组件和节点之间有什么直接的内在联系吗?七个不同的基本的结构性事物之间有什么联系?

uml 建筑块

领域模型里面,四种关系依赖,泛化,关联和实现,我们把它当成继承,前面是依赖和关联。领域模型里面你就会发现绝大多数情况下用的都是关联关系,只有偶尔会用一些泛化关系。

所以,这个领域模型主要的是什么?特别是我们的那个案例里面,最关键重中之重,是一个职位还是一个岗位,或者是有一个职位,你在构造最关键性概念,模拟一下怎么看待一个企业的?







请到「今天看啥」查看全文