关于代码分层的理解

我所理解的软件程序代码结构分层大致有以下几部分:

UI(User Interface) 用户与软件的交互接口,例如网页,软件的操作界面

 

DM(Data Model)绑定UI的基本数据或操作,也会有简单的逻辑处理,例如asp.net的后台cs文件,会有事件的定义和一些参数的定义,在MVVM的开发模式中的应用比较显著,会特别定义一个cs文件用来绑定UI的控件属性或事件

 

SL(Service Layer),服务层,Web Service, WCF Service等,在一些软件开发中,例如silverlight,由于silverlight是嵌在网页里的插件,对silverlight上的控件进行操作不会对web server提交表单,为了与后台数据进行交互,只有通过Service对数据进行访问,当然也有一些软件是为了获得更好的可移植性而采用Service层

 

BL(Business Layer)业务层,主要的代码逻辑实现层,包含以下几种对象类型:

1.XXXBL,定义业务逻辑方法

2.BO(Business Object),逻辑对象,DM层可以直接引用,用来与UI数据进行绑定,例如Gird的ItemsSource,TextBox的Text,ComboBox的Items,SelectedItems等等

3.CM(Convert Methods),自己取的名字,在调用DL层的时候在BO和DO之间进行转换

4.枚举类型(enum)

5.常量(Constants),例如const string

 

DL(Data Layer),数据访问层,与数据库,数据源进行直接交互,以SQL Server为例,调用SQL script或Stored Procedures,以Excel为例读取Excel或写入Excel

1.XXXDL,定义数据逻辑方法

2.DO(Data Object),数据对象,与数据库表,字段对应

3.Enums

4.Constants

Utilities(Helpers),通用方法,多次调用,或需要引用一些特别的dll,任何层都可以访问

posted @ 2015-11-03 15:43  CeeChen  阅读(1102)  评论(0编辑  收藏  举报