摘要:
模板方法通过把不变行为搬移到超类,去除子类中的重复代码来实现它的优势,避免了重复,控制了扩展! 阅读全文
摘要:
代理模式 尽管Decorator的实现部分与代理相似,但Decorator的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。 意图: 为其他对象提供一种代理以控制对这个对象的访问。 适用性: 在需要用比较通用和复杂的对象指针代替简单的的指针的时候,使用代理模式。 1 阅读全文
摘要:
装饰模式 层层包装,增强功能。这就是装饰模式的要旨!装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。它把需要装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象。 意图: 动态的给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类模式更为灵活。 阅读全文
摘要:
单一职责原则: 就一个类而言,应该仅有一个引起它变化的原因!如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。如何你能够想到多于一个的动机去改变一个类,那么这个类就具有多于 阅读全文
摘要:
简单工厂模式 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 该模式中包含的角色及其职责: 1、工厂(Crea 阅读全文
摘要:
递归方法的常用步骤: 1. 生成子问题。 子问题须与原始问题为同样的事,且更为简单。即把N的问题简化到N-1; 2. 构造出口。 不能无限制地调用本身,须有个出口,化简为非递归状况处理。即当N==某个值时可解。 首先,我们实现从N到N-1: 对于链表A->B->C->D->NULL,我们对后面的B- 阅读全文
摘要:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sort { class QSort { static public void Sort1(int[] arr,... 阅读全文
摘要:
冒泡排序: 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位。当i次遍历的时候将找到第i+1大(小)的数放到倒数第i+1的位置。代码如下:void bubbleSort(int* arr, int size){ if(a... 阅读全文
摘要:
os.clock ()功能:返回一个程序使用CPU时间的一个近似值最近做了一个功能,这个功能需要统计时间间隔,例如每隔0.5秒做一次调用。我用了os.clock()去统计时间,结果在pc机上都没什么问题,可当打包到手机上再运行的时候就出现了问题。最后发现实际上都8秒了,用os.clock()统计出来... 阅读全文
摘要:
function createCountdownTimer(second) local ms = second * 1000 local function countDown() ms = ms - 1 return ms end return countDownendtimer... 阅读全文