摘要: Lua中的类型与值 Lua中的表达式 Lua中的语句 Lua中的函数 Lua中的闭包 Lua 中 pairs 和 ipairs 的区别 Lua中的迭代器与泛型for Lua中的协同程序 Lua中__index和__newindex实践 Lua中的元表与元方法 Lua中的环境概念 Lua中的模块与包 阅读全文
posted @ 2018-09-05 18:15 Ring_1992 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对模板方法模式是这样说的:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的接口即可重定义改算法的某些特定步骤。 我结合我在实际开发项目中的一个例子来说说这个模板方法模式吧。 阅读全文
posted @ 2018-09-05 17:55 Ring_1992 阅读(757) 评论(0) 推荐(1) 编辑
摘要: 访问者模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对访问者模式是这样说的:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。该模式的目的是 阅读全文
posted @ 2018-09-05 17:52 Ring_1992 阅读(1676) 评论(0) 推荐(0) 编辑
摘要: 策略模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对策略模式是这样说的:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户而变化。 策略模式为了适应不同的需求,只把变化点封装了,这个变化点就是实现不同需求的算法,但是,用户需要知道各种算法的 阅读全文
posted @ 2018-09-05 17:50 Ring_1992 阅读(6669) 评论(0) 推荐(1) 编辑
摘要: 前言 在实际开发中,我们经常会遇到这种情况;一个对象有多种状态,在每一个状态下,都会有不同的行为。那么在代码中我们经常是这样实现的。 而这种就好比简单工厂模式,当我们增加新的状态类型时,我们又需要修改原来的代码,这种对于测试是很不利的;由于简单工厂的缺点那么的明显,后来的工厂模式就克服了这个缺点,我 阅读全文
posted @ 2018-09-05 17:45 Ring_1992 阅读(4303) 评论(0) 推荐(1) 编辑
摘要: 观察者模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscrib 阅读全文
posted @ 2018-09-05 17:40 Ring_1992 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对备忘录模式是这样说的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 有时有必要记录一个对象的内部状态。为了允许用户取消不确定的操作或从错误中恢复过来,需要实现 阅读全文
posted @ 2018-09-05 17:38 Ring_1992 阅读(809) 评论(0) 推荐(0) 编辑
摘要: 前言 我们都知道,这个国际政治是一门很深的学问,不玩政治的人是搞不懂的。那么多的国家,国家之间的关系又及其复杂;就好比现在,美国和中国有经济利益关系,美国又和日本有盟友关系,朝鲜又和中国有说不清道不明的关系;这些复杂的关系,稍微处理不好,就可能引发局部战争,更有可能引发第三次世界大战。如果出现了国与 阅读全文
posted @ 2018-09-05 17:33 Ring_1992 阅读(2931) 评论(0) 推荐(2) 编辑
摘要: 前言 最近非常感伤,总是怀念大学的日子,做梦的时候也常常梦到。梦到大学在电脑前傻傻的敲着键盘,写着代码,对付着数据结构与算法的作业;建立一个链表,遍历链表,打印链表。现在把那个时候声明的链表的头文件拿出来看看: 再回头看看,自己写的代码都有点不认识了。是的,那个时候,就是直接将链表的创建和遍历都放在 阅读全文
posted @ 2018-09-05 17:28 Ring_1992 阅读(2561) 评论(0) 推荐(1) 编辑
摘要: 解释器模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对解释器模式是这样说的:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建 阅读全文
posted @ 2018-09-05 17:22 Ring_1992 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 什么是命令模式? 在GOF的《设计模式:可复用面向对象软件的基础》一书中对命令模式是这样说的:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。在OOP中,一切都是对象,将请求封装成对象,符合OOP的设计思想,当将客户的单个请求封装成对 阅读全文
posted @ 2018-09-05 17:18 Ring_1992 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 什么是职责链模式? 在GOF的《设计模式:可复用面向对象软件的基础》一书中对职责链模式是这样说的:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,直到有一个对象处理它为止;如下图: 对于每个角色,他们都有他们的职责;当我提交了休假申请时,项目经理需要判断 阅读全文
posted @ 2018-09-05 17:15 Ring_1992 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 什么是代理模式? 在GOF的《设计模式:可复用面向对象软件的基础》一书中对代理模式是这样说的:为其他对象提供一种代理以控制对这个对象的访问。结合上面的游戏代理的例子和下面的图,我们来进行分析一下。以前你是这样玩游戏: 现在有了游戏代理,你是这样玩游戏: 代理服务器干了什么?它代替你去和游戏服务器进行 阅读全文
posted @ 2018-09-05 17:12 Ring_1992 阅读(1026) 评论(0) 推荐(1) 编辑
摘要: 什么是享元模式? 在GOF的《设计模式:可复用面向对象软件的基础》一书中对享元模式是这样说的:运用共享技术有效地支持大量细粒度的对象。 就如上面说的棋子,如果每个棋子都new一个对象,就会存在大量细粒度的棋子对象,这对服务器的内存空间是一种考验,也是一种浪费。我们都知道,比如我在2013号房间和别人 阅读全文
posted @ 2018-09-05 17:07 Ring_1992 阅读(3461) 评论(0) 推荐(1) 编辑
摘要: 前言 在实际开发时,面对一个大的系统,总是会将一个大的系统分成若干个子系统,等子系统完成之后,再分别调用对应的子系统来完成对应的整体功能,这样有利于降低系统的复杂性;最终进行实现某个具体的功能时,我们将对应的子系统进行组合就好了;但是,子系统那么多,关系那么复杂,组合形成一个完整的系统,是存在难度的 阅读全文
posted @ 2018-09-05 16:51 Ring_1992 阅读(2281) 评论(1) 推荐(2) 编辑
摘要: 前言 在实际开发时,你有没有碰到过这种问题;开发一个类,封装了一个对象的核心操作,而这些操作就是客户使用该类时都会去调用的操作;而有一些非核心的操作,可能会使用,也可能不会使用;现在该怎么办呢? 什么是装饰模式? 在GOF的《设计模式:可复用面向对象软件的基础》一书中对装饰模式是这样说的:动态地给一 阅读全文
posted @ 2018-09-05 16:46 Ring_1992 阅读(906) 评论(0) 推荐(1) 编辑
摘要: 问题描述 上图,是一个公司的组织结构图,总部下面有多个子公司,同时总部也有各个部门,子公司下面有多个部门。如果对这样的公司开发一个OA系统,作为程序员的你,如何设计这个OA系统呢?先不说如何设计实现,接着往下看,看完了下面的内容,再回过头来想怎么设计这样的OA系统。 什么是组合模式? 在GOF的《设 阅读全文
posted @ 2018-09-05 16:39 Ring_1992 阅读(1587) 评论(0) 推荐(0) 编辑
摘要: 问题描述 现在要去画一个图形,图形有长方形、圆形和扇形等等;而图形又可以加上不同的颜色,然后,我们就可以画出红色的长方形,绿色的长方形;红色的圆形,绿色的圆形等等。而这种图形的形状在变化,图形的颜色也在变化,当使用代码去实现时,如何面对这种多方面的变化呢?这就要说到今天的桥接模式了。 什么是桥接模式 阅读全文
posted @ 2018-09-05 16:36 Ring_1992 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 生活中的适配器 买笔记本电脑,买手机时,都有一个电源适配器,电源适配器又叫外置电源,是小型便携式电子设备及电子电器的供电电压变换设备,常见于手机,笔记本电脑上。它的作用是将家里的220V高电压转换成这些电子产品能工作的5V~20V左右稳定的低电压,使它们能正常工作。就是说,如果没有这个电源适配器,我 阅读全文
posted @ 2018-09-05 16:33 Ring_1992 阅读(1265) 评论(0) 推荐(1) 编辑
摘要: 什么是原型模式? 在GOF的《设计模式:可复用面向对象软件的基础》中是这样说的:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这这个定义中,最重要的一个词是“拷贝”,也就是口头上的复制,而这个拷贝,也就是原型模式的精髓所在。 举一个最简单的例子来说明原型模式:记得上小学的时候,老师 阅读全文
posted @ 2018-09-05 16:29 Ring_1992 阅读(2160) 评论(0) 推荐(1) 编辑