关于软件构架和耦合问题,熟悉的高手进来指点一下,谢谢!!!
软件三层构架中要把界面层和业务逻辑层分离,业务逻辑层应该是起一个决策作用,但是他的决策是由界面层传递过来的信息来再来分析决定的,也就是说,是界面层控制业务逻辑层的行为,难道这样不会出现控制耦合问题吗?这样将两层独立好处也大不到哪儿去吧,毕竟没能松耦合。
至于分层的优点就不用介绍了,这个我知道,主要是解决界面层和业务逻辑层是否存在控制耦合问题。。。
不知道是我理解有问题还是确实存在控制耦合问题,忘高手指点一二,谢谢!
[解决办法]
界面应该分为两个层, 一个是输入的, 一个是输出的.
然后层次就是 输入 --> 逻辑 --> 输出 了.
如果把界面的输入和输出放在一起, 必然会出现循环依赖.
[解决办法]
MVC模式,界面层(view)是提供与用户交互的UI,逻辑层(control)才是决定如何对用户的输入作出响应,界面层应该和界面的抽象(modal)以及数据库交互.逻辑层封装了算法的集合.如果control依赖于modal的抽象那么逻辑层改变不会影响View.常见的做法将逻辑封装成DLL.版本的更新只需要更新DLL即可.