现在,人人都会用MVC的模式,都知道分3个层次来处理系统。分了3个层次,而代码的分界确又是堆砌的,爱堆哪就堆哪,这样和没分层又有什么区别呢?表现上看起来好点罢了。

我看到很多的代码,在aspx.cs页面处理了很多的业务逻辑。在简单的网站,也许你认为没有业务逻辑,所以都可以写在aspx.cs。事实上并非如此。页面的显示视图不一样,也是逻辑。对于输出View的控制所有东西都是逻辑。在业务逻辑层上,很多人喜欢重复调用下数据层的东西,那种重复劳动太值了,多了一层多处理,又没有起到应有的作用。在业务逻辑层还出现GetXXXByUserID之类,就说明你出现了吃力不讨好的事情了。

分层的心态是好的,可没做到份上。事实上,原则应该如下:

表现层,用以处理所有用户输入和数据显示问题;
业务逻辑层,存放所有“业务逻辑”,所有处理,算法等应该放的地方;
数据访问或资源层,存放用于检索、修改或存储数据的所有代码。


简单的说表现层只处理输入和数据显示,当然还包括JS之类的处理。其他一律可以放到逻辑层处理。而数据访问层,说简单就是增删改查四个动作,其他的一律提到逻辑层处理。这样逻辑层的东西就可以具体的根据相同职责来分分合合。这样代码就清晰多了。

哎~,可这个世界就有如字不可教的大量人存在。