互联网飞速发展的当下,有一种极其重要的门类也随之应运而生,那就是软件工程。而软件工程中,又有非常重要的一环,那就是软件架构,这也是各个互联网公司无论大小都必备的一个系统基础。那么什么是软件架构呢?

打开网易新闻 查看精彩图片

事实上,架构在软件发明时的 N 多年以前,就已经存在了,这个词最早是跟随着建筑出现的。在软件工程中,架构以理解为:

1、根据要解决的问题,对目标系统的边界进行界定。

2、并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。

3、并对这些切分出来的部分,设立沟通机制。

4、根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

那么架构模式中较为常见的有以下10种:

1、分层模式 (Layered pattern)

2、客户端/服务器模式 (Client-server pattern)

3、主/从模式 (Master-slave pattern)

4、管道/过滤器模式 (Pipe-filter pattern)

5、代理模式 (Broker pattern)

6、对等模式 (Peer-to-peer pattern)

7、事件总线模式 (Event-bus pattern)

8、模型/视图控制器 (MVC) 模式 (Model-view-controller pattern)

9、黑板模式 (Blackboard pattern)

10、解析器模式 (Interpreter pattern)

他们的优缺点如图所示:

打开网易新闻 查看精彩图片