分层的优点:
每个层对上层公开API,但具体的实现细节对外透明(即上层只知道该API用来做什么,如何调用,不关心API是如何实现的,如果要看具体实现,必须索取源代码),当某一层的实现发生变化,只要它的API不变,不会影响其他层的实现。由于软件上层总是依赖于下层,因此也可以把软件上层称为客户程序。而不是我们理解的,给客户用的程序就是客户程序。


分层的缺点:
层与层之间出现自下而上的依赖关系,一旦业务逻辑发生变化,不仅需要修改业务逻辑层的代码,还要修改表述层的代码。此外,层越多,调试越困难,错误可能产生于不同的层,必须联合所有层的开发人员进行调试。

简单的系统,可以选择较少的层,反而可以提交效率,而复杂的系统,则根据系统的复杂程度来决定如何分层。


持久层封装了数据访问细节,为业务逻辑层提供了面向对象的API。而持久化领域已经有很多优秀的ORM软件了,有的商业性的,有的开放源码。Hibernate就是这种越来越受欢迎的开源ORM软件。Hibernate可以看成是连接Java应用和关系数据库的管道。


软件模型:
软件开发领域,模型用来表示真实世界的实体。在软件开发的不同阶段,需要为目标系统创建不同类型的模型。在分析阶段,需要创建概念模型。在设计阶段,需要创建域模型和数据模型。
1. 概念模型定义实体的属性以及实体的关系,没有定义实体的方法。不管技术人员还是非技术人员都能看得懂概念模型
2. 数据模型由表、表的索引、视图、触发器以及表与表之间的参照完整性组成。那么视图、触发器以及参照完整性用来做什么了?
3. 域模型(设计模型),它由域对象和域对象之间的关系组成


依赖、继承和组合的理解

本文是我的一篇学习日志,对大家可能没有什么意义...

posted on 2005-08-19 09:29 陶匠 阅读(784) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: