简单三层
UIWin 显示层
Facade 外观层
Bll 业务逻辑层
SQLDal SQLServer数据库层
Model 数据实体层
数据库只考虑使用SQLServer所以这里没有用工厂,之前数据库一般使用静态方法,有担心以后要用到其他数据库,所以现在没有用静态方法,实例化后再操作。
疑问在BLL和Facade 我是准备做进销存软件,Facade根据业务分大致定义如下几个类,(这里以中文命名方便说明问题):
基础数据管理类 零售管理类 批发管理类 会员管理类 仓库管理类 采购管理类 结算管理类 系统设置管理类。
我准备把基础数据如:客户资料 商品资料 供应商资料 分店资料 。。等等基础数据的增、删、改、查操作放在Facade 基础数据管理类中 都采用静态方法,直接调用Dal层操作。
其他业务放在对应的类中也使用静态方法,可能去调用多个Bll里面的类协同完成业务逻辑
请问我这样做合理吗?
另外一个问题是您一般在设计Model层是如何设计外键,比如一个商品 有 ClsID即分类编号这个字段。Model层是 public Cls GoodsCls{get;se;} 还是 直接 public String GoodsClsID{get;se;} ,如果选择前者,那么在做GoodsClsDal的时候 查询数据是不是要引用ClsDal这个类? 如果这样Dal层不是一个连一个乱得很吗?如果选择后者,感觉不咋面对对象哦。毕竟
商品.分类 很容易理解为某个商品的分类信息。 如果商品.分类编号 感觉不够直接。。 纠结