摘要:TheBeerHouse整个网站是属于CMS(Content Management System)架构的系统,即基于内容的网站 设计,这是网站设计最普遍的一种架构.在此网站的设计中,为什么需要用到许多抽象基类,为什么需要各种 看似让人难以理解的属性和成员变量,设计意图是什么,这么设计有什么好处等等这类问题,都是值得我 们思考和探讨的问题.我们将从层次关系、类图关系、设计意图这几个方面讨论上述提出的问题.
一. 层次关系
如上图,红色虚线框内的将是我们讨论的内容,这里面几乎全部是类,他们共同构成了我们新闻文章 管理模块的功能架构.首先我们看到,这些类全部放到了App_Code目录中,在这个目录中包含了逻辑层和 数据层的各种类,这些类各具功能,和我们以前学习的中规中矩的三层架是有很多区别的,以前的三层结 构中分为实体层(Models)、数据层(ModelService)、逻辑层(ModelManager),这些层中只有简单的 引用关系,基本不存在继承或实现接口的关系。那么当需求增加后,这些层次关系是可以实现扩充的,但 总显得有些单调,因为有这么样一句话是说的非常有道理的:在实际设计中,类的设计对于一些相似的功 能类总该保持一个或多个基类,保持基类短小,让它只包含子类所需的通用功能是个好的设计习惯, 即使最 初在基类中不想放任何详细的代码,但以后如果需要一个通用属性和方法, 那么在整个架构中拥有一个基 类也会很方便的.一般基类都设计成抽象类,所以我们在此结构中看到的抽象类几乎都是对下面具体子类通 用功能的抽象。对于层次关系的讨论我们就从基类开始.
二. 逻辑层的结构
以下是逻辑层的类关系图:
时间: 2024-12-31 22:30:22