Delphi开发篇
文章平均质量分 78
Chenzhigang_002
分享我的学习成果,共同进步
展开
-
Delphi装饰模式
装饰模式,概括的说就是像已有的功能里面添加新的功能,但是确不会对以前的功能造成影响,(符合软件设计的开放-封闭原则)并且可以根据需要决定何时何地启用哪些功能,以及顺序问题。说到顺序这个问题,其实装饰模式和建造者模式有相似之处,而建造者模式有顺序之分。以下是具体Demo。//模式单元unit Unit2;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Cl.原创 2021-01-07 17:57:47 · 211 阅读 · 1 评论 -
Delphi建造者模式
声明:虽然本文是说的Delphi设计模式,但是设计模式本身并不局限于某一种语言,只是因为我本人对Delphi熟悉一些,所以是用Delphi来表示。 该模式应用场景:当干某一个事情需要经过多个复杂的步骤的时候,而且某一个步骤可能因为时间、地点、人物等条件的不同,所需要的方也不同。举例说明:本文以生产手机来说明。手机的品牌虽然有很多,但是手机的组成部分却是一样的,比如芯片,屏幕、电池、摄像头等,组装的时候,也是按照一定的步骤、顺序组装的,每一个部件缺一不可,这些是相同点(有可能不同的厂...原创 2021-01-07 14:35:22 · 140 阅读 · 0 评论 -
delphi策略模式
当干某一件事情有多种算法,且未来还会有变化。为了降低代码耦合程度,每一种算法之间互不影响,也为了扩充方便,更好的封装方法,推荐使用策略模式。以下是具体代码。unit uStrategy;{ 最简单的策略方式,应用于算法多变的环境。 1、构建一个包含基本算法父类(普通类,抽象类,接口均可) 2、每一个具体的算法创建一个类,继承自基本算法的接口或者类 3、创建一个管理算法的类 优点:降低了代码耦合程度,每一种算法之间互不影响。扩展非常方便,干掉了客户端的条件判断...原创 2021-01-06 10:47:12 · 231 阅读 · 0 评论 -
delphi简单工厂模式
关于设计模式,网上有大量类似的文章。不过大多数都是Java、Python之类的语言,我参考了Java的设计模式源码,给出了对应Delphi的设计模式Demo,仅供参考。(设计模式本身是与编程语言无关)以下是Demo源码。参考资料来自于书籍:大话设计模式{ 这是一个工厂模式的简单应用,实现2个数之间的加减乘除运算 当需要增加一个新的运算类型时,只需要增加一个新的运算类,并且在 工厂类的创造实例方法CreateOpera 增加这个新的运算类}unit uCalcu...原创 2021-01-05 15:21:00 · 306 阅读 · 0 评论 -
Delphi实现链表
在本文中,我把对链表的操作封装到一个类中,此类是单向链表,如果想做成双向列表,需要在PNode里面加入一个Pre,指向当前指针的前一项;如果是环形链表,则需要将尾节点的Next指向头节点。原理都是类似的。一下是这个类的详细代码。供大家参考。(DelphiXe2中实现的)unit Unit2;interfaceuses Winapi.Windows,System.SysUtils, System.Classes,Vcl.Forms;type TStudent=reco...原创 2020-11-20 14:18:31 · 1028 阅读 · 0 评论 -
Delphi对象创建与释放
前言:做Delphi很多年了,打算留下了啥,所以准备写博客了。关于对象的创建和释放,相信大家都非常熟悉了,在这里我打算浅谈一下。本文中我将对象分为2大类,组件对象和非组件对象,暂时不考虑接口以及实现接口的类。组件对象,也就是从TComponent继承下来的类对象。其它的就归于非组件对象。各位不要太过纠结,给我举反例。非组件对象比如Tlist、TCollection等等,此类对象必...原创 2020-04-15 21:59:40 · 1409 阅读 · 0 评论