设计模式笔记
(个人学习)
-
什么是设计模式 设计模式的作用
解决同一种类型的问题
使用设计模式可以让代码结构更加清晰 -
面向对象设计中常见的设计原则
单一职责原则
开-闭原则
里氏替换原则
依赖倒置原则
接口隔离原则
最少知识原则(迪米特法则)
少用继承多用组合(合成复用)上述原则的作用:让自己设计实现出来的软件系统更加稳定,容易维护,并具有一致性。
资料:
http://blog.youkuaiyun.com/qiulongtianshi/article/details/7570021https://wenku.baidu.com/view/90233639c850ad02de8041f0.html
-
设计模式书籍(卓越亚马逊和当当)
《设计模式 可复用面向对象软件的基础》
《Head First 设计模式(中文版)》
《设计模式与完美游戏开发》 -
画图 draw.io process.on
-
脚本和游戏物体分离开发
-
修改VS的默认模板
64位环境,VS2013,则我可以找到这个位置:
D:\Program Files (x86)\visual studio2013\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\WebClass
D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class
D:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class -
各模式学习文章(转载)
状态模式:
允许一个对象在其内部状态改变时改变它的行为,让对象看起来似乎修改了它的类。由于决定状态转移的逻辑分布在各个状态子类中,可以很容易的新增状态和转换。
http://www.cnblogs.com/wangjq/archive/2012/07/16/2593485.html
外观模式:
为子系统的一组接口提供一个一致的界面,定义了一个高层接口,这个接口使得这一子系统更加容易使用,并且让系统间的通信依赖关系达到最小
http://blog.youkuaiyun.com/lovelion/article/details/8258121
单例模式:
保证一个类仅有一个实例,并提供一个访问它的全局访问点
http://blog.youkuaiyun.com/carson_ho/article/details/52223097
http://blog.youkuaiyun.com/iblade/article/details/51107308
中介者模式
用一个中介对象来封装一系列对象的交互。使各对象不需要显式的相互引用,从而使耦合松散,而且可以独立改变它们之间的交互。
http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/30/2663922.html
桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立的变化。过度使用继承会导致类结构过于复杂,如果继承体系中有两个以上方向的变化,就应该将继承关系改为组合关系,从而使这两部分应对各自的变化。这也是合成-复用原则的体现。
http://blog.youkuaiyun.com/cooldragon/article/details/52173915
策略模式
定义一系列算法,把它们各自封装,并且使它们可以相互替换,使得算法可独立变化。
http://www.uml.org.cn/sjms/201009092.asp
http://blog.youkuaiyun.com/hguisu/article/details/7558249
模板方法模式
定义一个操作的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重新定义改该算法的步骤。微妙的重复会出现在表面不同但是本质相同的结构或处理步骤中,这些重复提取出来就成为了模板方法模式
http://blog.youkuaiyun.com/lovelion/article/details/8299794
http://meigesir.iteye.com/blog/1506484
状态模式之AI 有限状态机
允许一个对象在其内部状态改变时改变它的行为,让对象看起来似乎修改了它的类。由于决定状态转移的逻辑分布在各个状态子类中,可以很容易的新增状态和转换。
http://wiki.unity3d.com/index.php/Finite_State_Machine
工厂模式(简单工厂,工厂方法,抽象工厂)
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂模式使一个类的实例化延迟到其子类。它并不能减少工作量,但是能在处理新情况时避免代码更加复杂。
抽象工厂模式:提供一个创建一系列或相关依赖对象的接口,而不需指定它们具体的类
http://blog.youkuaiyun.com/jason0539/article/details/23020989
http://blog.youkuaiyun.com/jason0539/article/details/44976775
建造者模式
将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示
http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/19/2599980.html
享元模式
为运用共享技术有效的支持大量细粒度的对象。如果有大量重复的对象,可以让它们共享一个对象,将这些对象不同的点抽象处理。
http://blog.youkuaiyun.com/ai92/article/details/224598
http://www.runoob.com/design-pattern/flyweight-pattern.html
组合模式
http://blog.youkuaiyun.com/hfmbook/article/details/7693069
命令模式
http://www.cnblogs.com/wangjq/archive/2012/07/11/2585930.html
责任链模式
http://www.tuicool.com/articles/RJvARj
观察者模式
http://lavasoft.blog.51cto.com/62575/201617/
备忘录模式
http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/05/2623667.html
适配器模式
http://blog.youkuaiyun.com/jason0539/article/details/22468457
http://www.cnblogs.com/wangjq/archive/2012/07/09/2582485.html
装饰模式
http://blog.youkuaiyun.com/a19881029/article/details/8980503