陋室铭
永远也不要停下学习的脚步(大道至简至易)

分层并不是说把你的代码拆开成n类,如果只是简单的分拆基本上没什么意义

分层实际上是为了对象设计。一般是先有对象在有代码。

我们为什么要对象,我们做对象的原因是我想在分析设计阶段,只关心系统的对象,和对象间的交互和约束,而不关心界面是如何表现的,数据是如何入库的。

实际上当你把对象建完后,系统就自然分层了。因为,对于完整的系统,系统自然是要往数据库里写东西的,而现在的对象里没有往数据库里读写的过程,你需要加入读写过程,这样DA层就出来了。系统还要有客户界面交互部分,而现在的对象也没有界面交互部分,ok,我们加入界面交互,行了表现层出来了

确切的说现在三层结构细分一般为7层结构

-- -DBUtility数据层基类
---DALFactory数据层工厂类
---IDAL接口层
---SQLDAL接口实现层
---Model实体类
---Logic业务逻辑层
---Web表示层

                     对象的表示                                       对象的存取
表示层(View)<-------------------对象,对象集(通信,约束)------------------->数据层
Web表示层                           Model实体类                                                                      DBUtility数据层基类
                                      Logic业务逻辑层                                                                      DALFactory数据层工厂类
                                                                                                                                                                     IDAL接口层
                                                                                                                             SQLDAL接口实现层

    对象设计类、接口的功能越单一越好,实体类除了自身的基本属性外,最好不要提供什么操作。像getuserById,setUserById,checkUser这些并不是用户类固有的,而且将来还会不断有其他操作加入。

设计的时候尽量和现实世界里越“像”越好,把问题分解为:谁(对象)对什么/通过什么然后干什么/得到什么等等,比如权限问题,可以描述为:系统对用户的操作(和操作对象/类型)进行判断。
posted on 2007-11-14 13:36  宏宇  阅读(650)  评论(2编辑  收藏  举报