本人现在正在看Java Persistence With Hibernate的英文版电子书。总觉得对于Layer的概念认识不够,如是在Wiki上找了如下定义。
In object-oriented design, a layer is a group of classes that have the same set of link-time module dependencies to other modules. In other words, a layer is a group of reusable components that are reusable in similar circumstances.Layers are often arranged in a tree-form hierarchy, with dependency relationships as links between the layers. Dependency relationships between layers are often either inheritance, composition or aggregation relationships, but other kinds of dependencies can also be used.Layers is an architectural pattern described in many books, for example Pattern-Oriented Software Architecture.下面是我翻译:在面向对象设计中,layer是一组拥有依赖于其它模块的链接时(link-time,学过编译原理的应该了解运行时吧!)模块的集合的类。换言之,layer是一组能够用于相似环境下的可复用的组件。Layer间的结构通常表示为一个拥有依赖关系的树形层次结构。在layer间的依赖关系通常不是继承,组合就是集聚关系,但是其它类型依赖关系也有可能。在很多书中,Layer也是体系结构模式(例如:面向模式软件体系结构)。上面的翻译对吗?谁给一个简单易懂的定义???
In object-oriented design, a layer is a group of classes that have the same set of link-time module dependencies to other modules. In other words, a layer is a group of reusable components that are reusable in similar circumstances.Layers are often arranged in a tree-form hierarchy, with dependency relationships as links between the layers. Dependency relationships between layers are often either inheritance, composition or aggregation relationships, but other kinds of dependencies can also be used.Layers is an architectural pattern described in many books, for example Pattern-Oriented Software Architecture.下面是我翻译:在面向对象设计中,layer是一组拥有依赖于其它模块的链接时(link-time,学过编译原理的应该了解运行时吧!)模块的集合的类。换言之,layer是一组能够用于相似环境下的可复用的组件。Layer间的结构通常表示为一个拥有依赖关系的树形层次结构。在layer间的依赖关系通常不是继承,组合就是集聚关系,但是其它类型依赖关系也有可能。在很多书中,Layer也是体系结构模式(例如:面向模式软件体系结构)。上面的翻译对吗?谁给一个简单易懂的定义???
a layer is a group of reusable components that are reusable in similar circumstances,呵呵。
在layer间的依赖关系通常不是继承,组合就是集聚关系
Layer 之间的依赖关系通常是继承、组合,或者是聚合关系