日期:2014-05-20  浏览次数:20369 次

在程序架构中,如何更好的处理业务流程?编写松耦合的代码?
1、常见的模式中入门级架构UI+MODEL+DAL+BLL。
UI显示界面,MODEL为实体,DAL负责与数据库交互,BLL处理业务逻辑?

是事实上,再我看到的 一些项目中(我所接触的项目并不多),BLL层几乎是被废掉了,单单成为了UI到DAL的一个中转,并没有处理任何逻辑问题。相反,一些业务逻辑却不得不写在UI的后台代码中。

比如这样一个简单的流程:注册-》激活帐号-》补充资料(1)-》》补充资料(2)-》…… -》完成,此时才允许用户进行其他操作。
看起来很简单一个流程对吗?但事实上并不是这样,我们的用户可能会这样操作:注册-》激活帐号-》后面流程没了,直接跑去操作内部内容了。。。就是说,用户可能会在某个环节中断,然后跑去操作其他环节,当然这种情况如果我们不处理的话相当于整个系统就崩溃了。

但是如何处理?以我目前看到的代码来看,都是在对应的UI代码处加以判断,在每个环节都判断一次,这样导致所有的业务处理都跑到UI去了,而且代码高度重复,并且业务流程并不能控制的很严格,总有一些时候会出现一些莫名其妙的问题。

2、MVC:
MVC是我目前正在使用的架构,但是单靠我自己摸索,我的所有业务代码都跑到Controll中去了,跟把后台代码写在UI的后台里面没什么区别,控制业务的时候总会出现一些未知的问题。导致用户使用的时候老是报错。烦恼啊。


我想请问大家在平时是如何处理业务流程的?

我在一家小公司,没有高手请教,故来此。


补充:

自定义控件的问题:

通常会遇到一个控件,大部分相同,却有很小一部分不同,这时候我就是复制一份,然后改改不同的部分。但是在维护的时候就非常不方便。有没有好办法?

------解决方案--------------------
代码间的依赖关系尽可能依赖接口,实例的构造尽量通过依赖注入的方式。