需求
要做一个网络仿真系统,为此需要选择合适的“架构”,在搜寻资料后得知应该确定的专有名词是《软件工程》领域的“软件体系风格”。
资料选择
1、软件体系风格分类
https://wenku.baidu.com/view/3c585cf8f9c75fbfc77da26925c52cc58bd6900b.html?re=view
可以看到适合自己的是调用/返回风格,其中包括主程序/子程序,面向对象以及层次结构三种。
其中还看到了过滤式软件体系结构风格,连接整个系统的是数据的输入到输出一系列的流动,看到编译器输入典型的管道/过滤式架构,但是其实在软件开发时,三层架构中也会有自定义对象,但采用的并不是面向对象风格,所以可以说其实按照哪种风格来设计系统,其实并不是完美的或者说不能相互结合的。
2、软件体系风格选择
比较了三种风格:
主程序-子程序风格:特点是主程序可不断调用子程序,树形结构,各个子程序之间独立,没有共用功能,适用功能比较复杂的情况
层次结构(分层系统):特点是支持抽象程度递增的系统设计,从抽象功能到最基本实现,支持程序的复用。
而我这里的情况正是需要复用最基本方法,因此选择层次结构(分层系统)。
之前担心层次架构只适用于后台开发,在软件工程领域找到依据后选择了层次架构。这时遇到的问题是,不清楚MVC架构(更多的地方称为设计模式)和三层架构的关系。
查阅:https://www.zhihu.com/question/21851341
软件体系结构风格图例参考:https://blog.csdn.net/NGUever15/article/details/72161210#%E6%9E%B6%E6%9E%84%E9%A3%8E%E6%A0%BC
https://www.cnblogs.com/jams742003/archive/2011/09/03/2165872.html
得知mvc设计模式属于三层架构中的视图层,例如在实际后端中使用的可以是mvc+service+dao层。
3、系统架构图和系统架构描述
分层的体系结构图:https://blog.csdn.net/XiangTianZaiJie500/article/details/80224972