序言
大二下学期学校开了一门课:数据结构课程设计,要求三人组队完成一个简易的文本编辑器。底层数据结构都被老师规定好了不能改,也没什么可讲的,这篇文章主要谈其中用到的设计模式:Singleton模式(没有出现在最终版本中)、Command模式、Visitor模式。这也是我第一次使用设计模式。
顺带一提,《设计模式》真的是很好的OOP入门书,不要被它的名字吓到,GoF在书的最后也说了这本书是一本合适的入门指南,学习这些设计模式有助于新手理解已有的面向对象系统。第一次读看不懂全部内容很正常,即使这样也能从中学到很多的工程知识,没必要“取之尽锱铢”。
感谢我的队友 Dixeran 和 TMT,who提供了最强的支持。也很感谢杨俊老师提供的提供的这次锻练习机会。
抄手也很好吃。
我们课程设计的源代码在GayHub上开源:MiniEditor
Singleton模式
本来想用 Singleton 模式自己写一个剪切板的,但后来发现直接通过QT提供的接口用操作系统自带的剪切板更方便,就把这段代码删了,as I mentioned before。
先简单介绍一下 Singleton 模式:
按照《设计模式》中的说法,Singleton 模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。它是对全局变量的一种改进,避免了那些存储唯一实例的全局变量污染命名空间。