delphi 学习积累

本文介绍了ORM(对象关系映射)技术,它旨在解决面向对象编程与关系数据库之间的不匹配,提供了一种概念化的、易于理解的数据建模方法。此外,还探讨了面向服务的架构(SOA)和不同类型的耦合,强调了低耦合、高内聚的设计原则,并列举了耦合的七个级别。文章还提到了Delphi中的文件名处理函数和多线程基础知识。
摘要由CSDN通过智能技术生成

ORM:对象关系映射Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]  。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。

面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。

对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化的结构。 典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。

简单的说:ORM相当于中继数据。具体到产品上,例如ADO.NET Entity Framework。DLINQ中实体类的属性[Table]就算是一种中继数据。

 

SOA:面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

 

耦合与内聚:相反概念,内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。 程序讲究的是低耦合,高内聚。就是同一个模块内的各个元素之间要高度紧密,但是各个模块之间的相互依存度却要不那么紧密。 [2]

内聚和耦合是密切相关的,同其他模块存在高耦合的模块意味着低内聚,而高内聚的模块意味着该模块同其他模块之间是低耦合。在进行软件设计时,应力争做到高内聚,低耦合。

(1) 内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。

(2) 公共耦合。两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。

(3) 外部耦合 。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

(4) 控制耦合 。一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。

(5) 标记耦合 。若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合。

(6) 数据耦合。模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合是最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。

(7) 非直接耦合 。两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。

总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。

耦合强度,依赖于以下几个因素:

(1)一个模块对另一个模块的调用;

(2)一个模块向另一个模块传递的数据量;

(3)一个模块施加到另一个模块的控制的多少;

(4)模块之间接口的复杂程度。

 

NativeXml

 

 

1、文件名函数

第一部分: 感受Delphi 7的可视化开发环境,并制作了若干简单的实例,着重从开发步骤的角度引导读者完成实例的制作,并详细讲解了开发过程中遇到的关于控件的和语言的相关问题,使得读者对Delphi 7的开发流程有初步的了解。 第1章 主要介绍Delphi 7的安装以及对可视化开发环境的熟悉。 第2章 通过手把手的几个实例的讲解,引导读者进行“搭积木”式的实例开发,从中感受使用Delphi 7开发应用程序的简洁和高效,并进一步掌握可视化开发环境的使用。 第二部分: 第3章和第4章分别对使用Delphi 7进行系统开发的语言语法以及开发中有关错误的调试技巧进行了讲解,使读者从理性上认识Delphi 7开发并熟练掌握程序调试技巧。 第3章 主要讲解Delphi 7开发应用程序所使用的语言——Object Pascal语言。除了概念上的阐述外,绝大部分的基本知识将从实例的制作中获取,避免了枯燥的讲解。 第4章 介绍用Delphi 7进行软件开发过程中经常遇到的错误以及解决办法。本章摈弃了传统的Delphi教程中枯燥的调试工具操作讲解和对错误理论的讲解,而是集中介绍了开发过程中最经常和最有效的调试手段,并简要介绍了错误的类型和解决办法。同样的,本章以实例的形式把相关的知识融入其中。 第三部分: 接下来的第5章、第6章和第7章对使用Delphi 7进行系统的软件开发进行了讲解,使读者在更高的层次上看清Delphi 7开发是进行设计而不仅仅是进行编码。 第5章 主要介绍如何使用Delphi 7开发出美观大方的应用程序以及开发过程中的相关原则。 第6章 主要介绍了有关图形控件方面的运用技巧。 第7章 主要介绍了有关数据库开发的相关知识,用一个简单的例子讲解了数据库的查询、删除、插入和更新等基本功能。 第四部分: 第8章是本书的最后一部分。该部分通过一个实例完成对本书基本知识的总结与复习。这里既有美观的界面设置,也有逻辑的代码设计,还有整个系统开发的分析说明。通过这一章力求读者从整体上把握软件开发的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值