大道至简的架构设计思想之:隔离(C系架构设计法,sishuok)
大道至简,基本的设计思想:隔离。
到底我们要隔离什么呢?前面已经讲过封装,我们把一定的功能做成一个封装体过后,这些功能的变化,是不是就隐藏在这个封装体里面了。
封装,就是把这些变化给包装了起来。事实上,咱们现的隔离,就是为了把这些变化隔离开来。你看,有了封装过后,自然的就形成了封装体内和封装体外,天然就形成了一个隔离,就是把封装体内的这些功能的变化,和封装体外,要使用这些功能的地方隔离开来,从而让内部的这些变化不会影响到外部调用它的地方。
所以说,隔离,他隔离的就是变化。那么这些变化在哪里呢?这些变化实际上封装在封装体里面。那为啥要隔离呢?隔离里有什么好处呢?
大家想一下,这么隔离了过后,那封装体内的这些具体的功能实现,和封装体外的东西是不是就分离了,从而可以更好的实现高内聚、低耦合。这就是隔离过后的好处。封装体外和封装体内的功能就是一种低耦和。
隔离不仅仅是只有这一点好处,它还能够提升系统架构、还有实现的灵活性。这个灵活性主要就体现在可维护、可修改、可新增、可扩展等等的。
大家都明白,软件本身是具有很大的不确定性的,有这样一句话,叫做设计,就是为了在不确定当中寻找确定。
对一个软件来说,不变的就是它的不断变化,是不是有点拗口,也蛮有哲理的。
一个软件一定要做得足够的灵活,要能够跟着需求的变化,而不断的去演进。也就是在不确定当中,在不断的变化当中,去寻找确定。
咱们很多的设计思想,设计方法,就是在教我们,在面临不断的变化的过程当中,我们该怎么样去做咱们的软件体系结构,怎么样去做咱们的实现,才是更好的。
封装和隔离,就是帮助我们去解决这样子的问题的重要的一些设计思想。
第三的一个,封装和隔离,这两个组合起来,可以称得上是软件设计,最内核的思想,是绝大部分设计思想的一个起点。
事实上,很多的架构模式,设计模式等等的,都是在教我们去做封装隔离。架构模式和设计模式,只是大家考虑的着眼点会不一样。
架构模式,可能会更高层一些,从整体上来考虑,而设计模式,可能针对的功能会更小一些。但是他们的本质,都是在教我们如何去应对变化。
当我们发现了变化过后,咱们首先就要把这个变化封装起来,然后把它跟其他部分隔开,这样就能够实现彼此独立的变化。
比方说架构模式里面的分层模式,常见的,咱们分成表现层、逻辑层,数据层,大家想想,这每一层,实际上是不是一种封装。表现层里肯定不放数据层的处理的功能,表现层里面放的,就是跟表现层、控制层相关的一些内容。你看,这本身就是一种封装。
另外表现层和逻辑层之间的交互,多半都是通过接口来进行的。每一层不但是一个封装体,他还要跟外部使用它的地方隔离开。彼此之间通过抽象来进行交互,本质上就是一种封装隔离思想。
所以说呢,我们现在要认识到封装隔离思想的重要性,咱们在后面学习当中,会不断的去体会很多设计思想、设计方式,就是从封装隔离这里,开始去思考的。
为了大家更好的交流架构设计的思想和知识,大家可以加微:sishuok,拉你进架构设计群,一起共同学习,共同进步。