多层开发,求助
求助:哪位前辈可以给俺说说多层开发呀?用户界面层,业务逻辑层,数据层,这都是干啥的呀?有没有案例讲解的书籍或者别的资料啊?各位前辈小弟在这里先谢谢了。我会随时关注的。
[解决办法]
多层开发是根据纵向的代码功能划分的,是与业务功能无关的。
在软件中,界面是最不稳定的部分,而行业规则相对稳定,最稳定的是行业概念。如果希望在软件功能出现变化时的改动量最小,就要把软件的基础建立在稳定的地方,把不稳定的地方独立出来。
你说的多层开发,通常大家叫MVC,就是其中的方式之一。当然也有其他的层模式,这个是最常见的。
M是Model,是指行业概念部分,其中存储的是你要做的软件涉及的对象与数据,以及相关的行业规则。它们是比较稳定的。
V是View,是指UI显示部分,它们是比较容易改动的,也是客户挑剔比较多的部分,含水量大。
C指的是Controller,是用来连接Model与View的部分。当界面出现了用户动作时,Controller负责找到对应的Model,通知其进行处理。当Model发生变化时,Controller会找到Model对应的所有View进行刷新。
基于组件开发则是根据软件的业务功能进行划分的,是横向划分。比如说,一个论坛软件,其中的广告部分可能是一个组件,而论坛聊天是另一个组件等等。组件之间关系极其松散,互相独立。
[解决办法]
给你说一个很简单应用,可能就会比较清楚了:一个图像处理软件,从网络或硬盘读取图像源,然后使用一些算法对它进行修改,最终写入硬盘或网络。
我们将它分为三个展:
用户界面层:用于用户操作,用于读写文件、确定参数、显示处理前后的图像。
业务逻辑层:用于存储这些图像的算法
数据层:用于处理文件读写。
这样做看起来也没什么特别的地方。但是如果发生了一些情况,如需要从数据库直接读写图像的二进制格式,那么只需要对数据层进行一些修改就行了。
这个东东只是一个对函数进行分类和管理的方法。
[解决办法]