PetShop详细文档
PetShop是一个微软提供的示例项目,用于展示.NET企业系统开发的能力。该项目随着版本的不断更新,至今基于.NET 2.0的PetShop 5.0,整个设计逐渐变得成熟而优雅。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。
**系统架构设计**
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。
* **数据访问层**:有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。在PetShop的数据访问层中,并没有使用ORM,从而导致了代码量的增加,可以看作是整个设计实现中的一大败笔。
* **业务逻辑层**:是整个系统的核心,它与这个系统的业务(领域)有关。以PetShop为例,业务逻辑层的相关设计,均和网上宠物店特有的逻辑相关,例如查询宠物,下订单,添加宠物到购物车等等。如果涉及到数据库的访问,则调用数据访问层。
* **表示层**:是系统的UI部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。在PetShop中,是利用ASP.Net来设计的,因此包含了许多Web控件和相关逻辑。
**分层式结构的优势**
分层式结构究竟其优势何在?Martin Fowler在《Patterns of Enterprise Application Architecture》中指出,分层式结构可以带来许多好处,例如:
* 降低系统的复杂度
* 提高系统的可维护性
* 提高系统的可扩展性
* 提高系统的可重用性
**PetShop 5.0的设计理念**
PetShop 5.0的设计理念是基于.NET 2.0的,整个设计逐渐变得成熟而优雅。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。
** PetShop的优点**
PetShop的优点在于:
* 体系架构清晰、简单易懂
* 代码量少,易于维护
* 使用ASP.Net来设计,包含了许多Web控件和相关逻辑
**PetShop的缺点**
PetShop的缺点在于:
* 数据访问层没有使用ORM,导致了代码量的增加
* 表现层中包含了业务逻辑,违背了分层式结构的设计原则
PetShop是一个小型的项目,但其设计理念和实现方法却能够给我们带来许多启示。