- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 设计模式学习笔记(9) Composite 组合(结果型模式)
俄罗斯套娃r对象容器的问题 在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。 递归容器 Control?...
2013-08-11 16:42:41 521
原创 设计模式学习笔记(8) Bridge 桥接模式(结构型模式)
问题在于如果抽象B由于固有的原因,本身并不稳定,也可能变化,怎么办?坦克大战,手机和PC上的同一款游戏,以及不同手机平台上的同一款游戏。只要有重复代码的地方就有重构,重构到顶就得到了模式动机 思考上述问题的症结:事实上由于Tank类型的固有逻辑,使得Tank类型具有了两个变化的维度——一个变化的维度为”平台的变化“,一个变化的温度为”型号的变化“。 如何应对这种”多维度的变...
2013-08-10 11:19:15 581
原创 设计模式学习笔记(7) Adapter适配器(结构型模式)
结构型模式:类与对象组合的关系多个类组合起来完成某些事情,不同的方案创建型模式:对象的创建,松耦合的创建方案松耦合:需求变化时,现有结构实现开闭方式。适配(转换)的概念无处不在...... 适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。动机 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现象所不...
2013-08-08 21:06:00 629
原创 设计模式学习笔记(6) Prototype 原型(创建型模式)
依赖关系的倒置抽象不应该依赖于实现细节,实现细节应依赖于抽象静态 动态 转换依赖关系,两种都依赖于抽象。抽象变化的频率慢,细节变化的频率快。动机在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口如何应对这种变化?如何向“客户程序”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序"不随需求改变而改变。其...
2013-08-05 20:52:37 588
原创 设计模式学习笔记(5) Factory Method 工厂方法(创建模式)
创建型模式中最重要,理解其他模式的基础代码和结构不是重点,不同的代码可以表现的是同一个模式,而相似的代码则可能是不同的模式设计模式和语言的关系不是很大理解设计模式的理念后再用代码来表达从耦合关系谈起 耦合关系直接决定着软件面对变化时的行为 模块和模块之间的紧耦合使得软件面对变化时,相关的模块都要随之更改。 模块和模块之间的松耦合使得软件面对变化时,一些模块更容易被...
2013-08-03 20:53:53 482
原创 设计模式学习笔记(4) Builder 生成器(创建型模式)
应用地不是很广缘起 场景:假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。 如果使用最直观的设计方法,每个房屋部分的变化,都将导致房屋构建的重新修正......稳定部分,变化部分主线:相对稳定,基本不变。枝叶:频繁变化客户需求基本是改枝叶。动机 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法...
2013-08-03 16:35:05 483
原创 设计模式学习笔记(3) Acstract Factory 抽象工厂(创建型模式)
封装、多态、继承new的问题 常规的对象创建方法: Road road=new Road(); new的问题: 实现依赖,不能应对“具体实例化类型”的变化。 解决思路: 封装变化点——哪里变化,封装哪里 潜台词:如果没有变化,当然不需要额外的封装! 倾向于变化,变化速度 稳定部分工厂模式的缘起 变化点在“对象创建”,因此就封装“对象创建” 面向接口编程——依赖接口,而非依赖实...
2013-08-03 15:12:27 512
原创 设计模式学习笔记(2) Singleton模式
单件模式 跟IOM他们的“单件库”有什么区别?虽然把WaitForm实现为Singleton模式了,但实际编写中难点在其他地方核心是“如何控制用户使用new对一个类的实例构造器的任意调用”.net 框架里很多地方都实现了与Singleto类似的扩展Type 就是一个Singleton对象HttpContext.Current想到一点,有没有办法获取当前创建的所有没有类的实例对象。在构造器中记录起来...
2013-08-03 14:58:29 486
虚幻引擎5源码,UnrealEngine-release,UE5.0.3 release。
2022-09-01
UMP Pro Win Mac Linux WebGL 2.0.3(u5.3.0).txt
2019-07-18
C#写的DirectX3D显示控件,以及一个.x文件处理窗口
2014-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人