设计模式
HappyerMano
这个作者很懒,什么都没留下…
展开
-
Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具Visual Leak Detector
Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具Visual Leak Detector微软提供 Visual Studio 开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具 Visual Leak Detector(以下简称vld)。vld 工具是 VC++ 环境下一款小巧易用、免费开源的内存泄漏检测工具, vld 可以显示导致内存泄漏的完整内存分配调转载 2015-12-08 17:57:00 · 808 阅读 · 0 评论 -
单一职责原则和开放封闭原则
单一职责原则:所谓单一职责原则,简单点说就是,每个类,每个方法最好是只做一件事情,只具备一个功能。这样做有什么好处呢,举个简单的例子。A方法具有两个功能,一个功能是计算N个数的平均数,另一个功能是睡眠10秒钟,那这个时候,我的B方法需要一个功能,就是计算平均数,但B方法又不想在计算了以后去睡眠10秒钟,那这个时候B方法就没办法使用现成的A方法进行计算。现在有什么办法可以解决这个问题呢。原创 2018-01-31 11:51:45 · 803 阅读 · 0 评论 -
消息机制简单实现模块间解耦
消息机制一直是软件开发中减少模块之间耦合的标准方式,下面我们举一个简单的例子,看看是如何通过消息,减少类 A 和类 B之间的耦合度的。下面是传统的方法,实现 A 对 B 类的某个方法的调用,不使用消息机制的传统方法,A 需要持有 B 的对象,并且 A 要知道所要调用的B的方法,这样 A 和 B 就强耦合在了一起,一旦 B 类发生变化,A 类就可能要重新编译,而且如果 doSomethingBSpec原创 2017-10-26 17:22:20 · 3441 阅读 · 1 评论 -
COCOS2D-X在给弹出框加入弹出效果过程中遇到的问题以及解决办法
导言:由于项目新版本需要给每个弹出界面加上一个弹出效果,如果只是给一个或者几个界面加上这样的效果,其实就是简单的通过几个 runAction 去实现。但由于有很多个界面都要实现这样的效果,所以思考以后,我打算使用一个装饰器去实现这样的效果,装饰器会将一个普通的弹出框装饰成一个具有特殊弹出效果的弹出框。之所以使用装饰器去实现这个功能,是因为这样可以将关于弹出效果的代码部分进行统一的管理,同时可以动态的原创 2017-10-18 17:00:55 · 1199 阅读 · 0 评论 -
hydra框架之责任链设计模式
一、什么是链,链是一系列的节点的集合,链的各个节点可灵活拆分再重组。二、何为责任链 责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。下面这篇文章可以详细的讲述职责链模式的使用场景,职责链的优缺点,指责链的实例。 http://www.cnblogs.com/kym/archive/2009原创 2017-07-27 15:43:50 · 1634 阅读 · 2 评论 -
读《重构-改善既有代码的设计》的一些简单的概念和理解
重构(名词):对软件内部结构的一种调整,目的是不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。重构(动词):使用一些列重构手法,在不改变软件可观察行为的前提下,调整其结构。重构的节奏一般是这样的:小改动,测试,小改动,测试,小改动,测试…重构技术就是以微笑的步伐修改程序。如果你犯下错误,很容易便可发现它。去掉某些临时变量控制类的变化造成尽量小的影响是什么让程序变得如此难以修原创 2017-08-17 11:07:27 · 1042 阅读 · 0 评论 -
大话设计模式之(装饰器模式)
导言:我曾经以为我可以用继承处理一切。后来我领教到运行时扩展,远比编译时期的继承威力大。装饰器模式可以给爱用继承的人一个全新的眼界。一旦你熟悉了装饰器模式,你将学会如何在运行的过程中给对象赋予新的指责和功能。先不谈模式,如果现在要你开发一个可以给人搭配不同服饰的系统,不如类似QQ、网络游戏或论坛都有的Avatar系统,你怎么开发? 半小时后,小菜的第一版代码出炉。代码结构图:#include "s原创 2017-08-02 17:35:00 · 1999 阅读 · 3 评论 -
几条简单的OO原则
1. 封装变化2. 多用组合,少用继承3. 针对接口编程,不针对实现编程4. 为交互对象之间的松耦合设计而努力原创 2017-07-11 17:58:14 · 371 阅读 · 0 评论 -
控制反转与依赖注入
控制反转与依赖注入控制反转(IoC/Inverse Of Control): 调用者不再创建被调用者的实例,由spring框架实现(容器创建)所以称为控制反转。依赖注入(DI/Dependence injection) : 容器创建好实例后再注入调用者称为依赖注入。当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常翻译 2016-01-06 15:12:50 · 428 阅读 · 0 评论 -
观察者模式及如何通过消息机制(观察者模式)实现模块间解耦
1、讲一下什么是观察者模式什么是观察者模式呢,观察者模式又叫做订阅发布模式,类似这样的例子生活里随处可见,比如公众号,比如微博关注的功能,这都是订阅发布模式,我们对一个公众号感兴趣,就会去关注一个公众号,这个公众号有了什么新的文章,新的内容,就会推送给所有关注了这个公众号的微信号,如果某一天我们对这个公众号不再感兴趣,我们就可以取消对它的关注,后面这个公众号再有什么新的内容,也不会再推送给我们...原创 2018-03-06 11:27:35 · 1189 阅读 · 0 评论