本人现在正在看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也是体系结构模式(例如:面向模式软件体系结构)。上面的翻译对吗?谁给一个简单易懂的定义???

解决方案 »

  1.   

    翻得挺好啊。不过wiki这个东西作者也是参差不齐,个人认为这个老外的作文写的不好。
    a layer is a group of reusable components that are reusable in similar circumstances,呵呵。
      

  2.   

    不晓得怎么了。感觉中国人写的计算机书,有些作者为解释某概念说了一大堆,我还是不懂。然后在wiki上看一下英文定义,一、二句话就可以搞懂了。现在对于计算机书,对于概念的解释,我基本上看wiki上看英文定义,而不太相信某些国人写的书的解释了。奇怪!!!~
      

  3.   

    Dependency relationships between layers are often either inheritance, composition or aggregation relationships
    在layer间的依赖关系通常不是继承,组合就是集聚关系
    Layer 之间的依赖关系通常是继承、组合,或者是聚合关系