架构是干什么的

现在“架构”这个词还是挺火的,什么理解都有,我也来谈谈我的看法。

我觉得架构首先完成一个系统的复杂度切分,架构本身不解决系统的任何问题,只是把系统的复杂度切分到不同的子系统或模块中。架构关系的是系统整体的耦合度。模块切分时的平衡、复杂度切分时是否合理。

这样来看,系统架构的重点是系统的整体。

一个好的系统架构,应该有下面的几种特征:

(1)简单:

如果架构非常复杂,一是说明架构师把本应属于模块内部的复杂度,拿到系统整体架构上了,这样在系统应变的灵活性上要差。架构参与了本应属于子系统或子模块的内容。

(2)低耦合

好的架构,各个子系统或模块之间的耦合通信非常清楚、易于理解,那种架构图一看就被调用关系和耦合关系吓晕的,可想而知。

(3)模块各司其职

有句话说的好“庖人虽不治庖,尸祝不越樽俎而代之矣”,每个模块都有自己的职责,遵循一定的约定,千万不能有那些万能的部分,啥都要掺和一点。

尤其是遇到一些技术上的疑难点时,很多人都会选择牺牲架构来处理,这样带来的弊病是非常严重的。

(4)(复杂度分配)平衡

好的架构,各个部分的复杂度基本上应该是差不太多的,不能是一个大模块,异常复杂,一对小工具,就算完事,这一定不是好的架构方式。

在设计系统的层次结构时,也一定要考虑分配的平衡性。

猜你喜欢

转载自windshome.iteye.com/blog/1781777