日期:2014-05-19  浏览次数:20699 次

关于C#分层的问题
这样分层对不对?
BookClass是一个实体类,里面有BookID,BookName,Price三个属性
BookOperation是一个操作类,包含以下静态方法
public   static   bool   IsExist(int   bookid)方法, public   static   bool   Add(BookClass   book)方法
...
Conn类是连接类,里面包含一个静态方法
public   static   SqlConnction   GetCnt()
加上界面层,这样就分了四层.这是不是JAVA中的分层方式?
在C#中分层是不是按照这样分的?
C#中所说的三层应该怎样分?

------解决方案--------------------
三层结构一般是数据库层,中间业务层,前端应用层
你的这种架构,都是前端的,不能称为三层

------解决方案--------------------
UI(.aspx)---------> BILL(业务处理)------> DAL(数据处理)----> 永久存储(数据库)
DALFactory(工厂)、IDL(接口)、Model来直接或间接的联系他们之间的关系

------解决方案--------------------
根据实际情况灵活掌握,不要为了分层而分层
------解决方案--------------------
分层没有什么标准,与你具体的设计思路有关
------解决方案--------------------
可以先这么理解,不过,实体类和public static SqlConnction GetCnt()这个一般都不算在单独一层,你现在还缺数据访问层,这样才可以基本上算做三层
------解决方案--------------------
你只要理解微软主推的三层结构,就是为了数据库迁移方便
标准在于你写代码的规范和组织结构。
------解决方案--------------------
你缺的是DALFactory,DAL(数据处理),IDAL。最主要的就是DALFactory,如果不用反射机制,你何来的跨数据库,那就根本谈不了三层。如果用不到,用MVC模式更好,许多人都把它们给混用了