Powered by 记得忘记 2006-7-20原稿 修改于7-21
1、分层开发思想
软件要分层,其实总结一句话,是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。
首先,谈一下什么是三层架构,所谓的三层开发就是将整个业务应用划分为表示层-业务逻辑层―数据访问层-数据库等,有的还要细一些,明确地将客户端的表示层、业务逻辑访问、和数据访问及数据库访问划分出来,十分有利于系统的开发,维护、部署和扩展。
我们知道,对于典型的三层应用系统来说,通常可以把系统分成以下三个层次:
· 数据库层
· 用户界面层
· 应用服务层 (数据实体层、实体控制层、数据访问层、业务规则层和业务外观层)
将系统划分成这么多层次,其好处是能够使得系统的架构更加清晰,这样每个层次完成的功能就比较单一,功能的代码有规律可循,也就意味着我们可以开发一些工具来生成这些代码,从而减少代码编写的工作量,使得开发人员可以将更多的精力放到业务逻辑的处理上。正是基于这个想法,我们同时开发了针对这个框架的开发工具,并在实际工作中减少很多代码的编写量,效果非常好。同时,为了应用服务层更好的工作,我们可以利用代码生成工具生成其中的数据实体层、实体控制层等(可以理解成中间件)。
2.具体设计
1)数据实体层(DataModel),即数据的表示方式、也就是通常的O-R Map的问题。通常的做法是将程序中的类映射到数据库的一个或多个表。可以使用Builder和Factory的设计模式、实体类定义XML文件可以通过工具来自动生成,减轻开发工作量
2)实体控制层 数据的存取方式,用于控制数据的基本操作,如增加、修改、删除、查询等,同时为业务规则层提供数据服务。
3)数据访问层(DataAccessLayer) 提供对数据库的访问,封装ADO.Net
· 连接数据库
· 执行数据库操作
· 查询数据库,返回结果
· 维护数据库连接缓存
· 数据库事务调用
4)业务规则层 业务逻辑的组织方式
各种业务规则和逻辑的实现
5)业务外观层 业务服务的提供方式
业务外观层为 Web 层提供处理、浏览和操作的界面。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。
业务外观层只是将已经完成的系统功能,根据各个模块的需要,对业务规则进行高层次的封装。
分享到:
相关推荐
随着信息技术的飞速发展,各行各业正经历着前所未有的变革,零售业亦是如此。特别是在小型超市领域,一个高效、...因此,本文所呈现的管理系统设计与实现不仅在技术层面有所创新,更在应用层面展现了广泛的实用价值。
概括地讲,热网监控系统软件采用分布式实时数据库设计技术、软总线技术、调度模型技术、异种数据库互联技术、 ODBC 数据库的远程双向传输确保系统具有足够的灵活性和可扩展性;采用内存优化技术、构件安全可靠性技术...
C#是一种专为.NET平台设计的语言,充分利用了.NET框架提供的丰富功能和库资源。通过C#,开发者可以轻松地访问.NET框架的服务和特性,如垃圾回收、类型安全等。 **1.3 C#语言的特点** - 深入解析C#语言的关键特性,...
- **.NET框架与C#的关系**:解释C#作为.NET框架的重要组成部分之一,在.NET平台上的角色和地位。 - **C#的角色**:C#是一种面向对象的编程语言,专为.NET平台设计,支持跨平台应用程序开发。 - **与其他语言的对比...
UML是一种标准化的图形语言,用于软件系统的建模和设计,它是面向对象分析和设计(Object-Oriented Analysis and Design,简称OOAD)的核心工具。UML通过各种图表来表示软件系统的结构和动态行为,这些图表包括用例...
在大数据领域,C#可以作为开发工具,用于构建数据处理应用,例如使用.NET框架中的Apache Spark接口进行大数据处理。C#的强类型和面向对象特性使其在处理复杂数据模型时尤为高效。 3. **Hadoop与Spark**:Hadoop是大...
5. **通用风格**:简单大方,适用于任何专业,特点是颜色均衡,布局清晰,适合快速制作PPT。 在使用这些模板时,记得个性化调整,将你的研究成果、数据和论点融入其中,让PPT成为你答辩的有力辅助。同时,合理利用...
- **语言与框架的关系**:讨论了C#语言与.NET框架之间的关系,以及它们如何共同促进软件开发。 #### 八、C#概念 - **C#类型系统**:深入研究C#类型系统的细节。 - **可为空引用类型**:详细讲解如何启用可为空引用...
- 表示数据库中的NULL值,在.NET框架中用于区分普通语言中的null。 18. **Profile**: - 配置文件。 - 通常包含特定于用户或应用程序的设置。 19. **Constraint**: - 约束。 - 数据库中用于确保数据完整性的...