设计模式_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 设计模式 >>列表
· 谈谈工作中的设计模式发布时间:2015-02-16
前言记得刚毕业的时候参加了一次校招面试,之前表现的很好,最后时面试官问我懂不懂设计模式,我说不懂,然后就进去了;后面又参加了某大公司的校招,开始表现还行,后面面试官问我懂不懂设计模式,我说懂(上次后补习了下),最后把工厂模式的代码背写到了纸上,然后就没有然后了......现在回想起来当时有点傻有点天真,没有几十万的代码量,没有一定的经验总结,居然敢说懂设计模式,这不是找抽么?经过这几年工作学习,感觉是时候系统的回忆下平时工作内容,看用到了什么设计模式,权当总结。小钗对设计模式的理解程度有限... 查看全文
· 设计模式--代理模式发布时间:2015-02-09
代理模式代理模式参考了iteye网友的一篇文章《java设计模式之——代理模式》以下代码根据该思想改编接口publicinterfaceKindWoman{publicvoidmakeEyesWithMan();publicvoidhappyWithMan();}实现类publicclassBeautyimplementsKindWoman{@OverridepublicvoidhappyWithMan(){System.out.println("游戏...");... 查看全文
最近在开发一个小的应用,遇到了一些Objective-c上面常用的单例模式,但是swift上面还是有一定区别的,反复倒来倒去发现不能按常理(正常的octoswift的方式)出牌,因此搜索了一些帖子。可能是xcode或者sdk的问题吧(我相信他们不会把未经测试的代码展示,吧?。。。),一些帖子中的代码犯了明显的错误,编译失败。于是有了这篇文章,分享给大家。原作者实现了一种单例,但是红色代码导致非线程安全:1classvarsharedInstance:TPScopeManager{2get... 查看全文
· 软件架构、设计模式、算法发布时间:2015-02-01
提供各种IT类书籍(Java、JavaScript、软件架构、设计模式、算法、Android、iOS、Hadoop、大数据)PDF版下载,如果有需要,请联系QQ:406515381... 查看全文
合成模式(Composite)是一组对象的组合,这些对象可以是容器对象,表现为组的概念;另外一些对象则代表了单个对象,称为叶子对象。组对象可以包含叶子对象也可以包含其他组对象。组对象和叶子对象定义相同的行为。合成模式(Composite)的意图就是为了保证客户端调用单对象和调用组合对象的一致性,也就需要组合对象和单个对象需要共享同一个接口。在对组合对象建模时,为了防止死循环,可以确保组合对象都是树形结构。有一个对象模型需要校验,是用合成模式的校验的结果是... 查看全文
· 设计模式大全发布时间:2015-01-09
设计模式产品算法commandprototypeLongronglin之设计模式:ChristopherAlexander说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。模式描述为:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。阅读类图和对象图请先学习UML创建模式结构模式行为模式创建模式:对类的实例化过程的抽象。一些系统在创建对象时,需要动态地决定怎样创建对象,创建哪些对象... 查看全文
说明:为了区别「本地通知」与「推送通知」这两种iOS中提醒用户,可见的「通知」,本文所将Notification翻译为「通告」。它们的详细区别,可参考《iOS开发系列--通知与消息机制》一文。实践遇到的问题:最近在维护公司的一个项目中,遇到这样一个报错:-[GlobalManageraddAlbum:]:unrecognizedselectorsenttoinstance经排查,原因如下:以前同事在利用「通告机制」在GlobalManager类中把「自己/self」注册为「观察器」... 查看全文
一,总体概要1,笔者浅谈日常生活中,我们在看电视的时候,通过遥控器选择我们喜欢的频道时,此时我们就是客户端的角色,遥控器的按钮相当于客户请求,而具体执行的对象就是命令对象,命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。先给个具体事例,如下:1functionadd(x,y){returnx+y;};2functionsub(x,y){returnx-y;};3functionmul(x,y)... 查看全文
一,总体概要1,笔者浅谈当我们浏览网页时,网页中的图片有时不会立即展示出来,这就是通过虚拟代理来替代了真实的图片,而代理存储了真实图片的路径和尺寸,这就是代理方式的一种。代理模式是比较有用途的一种模式,而且变种较多(虚代理、远程代理、copy-on-write代理、保护代理、Cache代理、防火墙代理、同步代理、智能指引),应用场合覆盖从小结构到整个系统的大结构,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理。代理对象角色内部含有对真实对象的引用... 查看全文
一,总体概要1,笔者浅谈顾名思义单例模式并不难理解,是产生一个类的唯一实例,在我们实际开发中也会使用到这种模式,它属于创建模式的一种,基于JS语言本身的语法特征,对象直接量“{}”,也可以作为单例模式的一种表现形式,如下代码参考1functionFoo(){2this.bar="HelloSingleton!";3};4varSingleton={5instance:null,6getInstance:function(){7if(!this.instance)... 查看全文
一,总体概要1,笔者浅谈说起“门面”这个设计模式其实不论新老程序猿都是在无意中就已经运用到此模式了,就像我们美丽的JS程序员一样不经意就使用了闭包处理问题,1functionEmployee(name){2varname=name;3this.say=function(){4console.log("Iamemployee"+name);5};6}代码中“say”是一个function... 查看全文
· 设计模式--建造者(Builder)模式发布时间:2014-12-23
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示--《设计模式》GOFInsus.NET在ASP.NET环境中,列举一个建造者设计模式(Builder)例子,以最帖近开发环境与需求。开发站点时,我们需要开发新闻类,视频类,图片类等等。每个网页还有可能是页头,内容,页脚等。开发这些页头,内容与页脚时,我们会使用用户控件来写好,加载至网页中去。每个类别的网页,你分别新建三个用户控件(ascx),NewsHeader,NewsContent,NewsFooter... 查看全文
· 设计模式--简单工厂(Factory)模式发布时间:2014-12-18
温故而知新,看了以前写的博文《Asp.net读取Excel文件2》http://www.cnblogs.com/insus/archive/2011/05/05/2037808.html觉得第一段代码示例,可以使用设计模式的简单工厂来实现。也就是说,使用两个全新的类,替代两个Switch分支。Xls类:Xlsx类:经这样分离之后,Switch代码,就可以写成下面这样子:上面的高亮的方法是相同的,两个类的方法相同,我们可以抽取至父类作为父类的public的方法,但是Insus... 查看全文
· 设计模式(20)---中介者模式发布时间:2014-12-16
一、定义中介者模式:用一个中介对象来封装一系列的对象交互。中介者使对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。解释:通俗来讲,有多个对象,它们相互之间有交互。现在为了降低它们的耦合度,提供一个中介者,相当于第三方,各个对象都通过第三方来进行相互间的逻辑操作。二、UML类图及基本代码基本代码:abstractclassMediator{publicabstractvoidSend(stringmessage,Colleaguecolleague);... 查看全文
· 设计模式(19)---职责链模式发布时间:2014-12-15
一、定义职责链模式:使得多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。解释:简单来说应该是对于一个请求,不同的人根据自己职责范围对它进行处理,同时也因为它一般是从底层向上层传递的请求的,所以将处理该请求的不同的对象比喻成一个链,从相对“低”的地方传递到相对“高”的地方,从而完成请求操作。二、UML类图及基本代码基本代码... 查看全文
· 适配器设计模式发布时间:2014-12-15
适配器设计模式定义:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。这么听来是不是感觉特别的神奇,其实适配器在生活中随处可见,就比如我们现在所使用的笔记本来举例子,大家都知道一般家用的插座的电压是220v,那么对于笔记本基本能够接受的电压是19V,如何能够让笔记本通电就需要用到一个适配器来使用一个输入为220V的电压转换成一个输出19V的电压到笔记本端。适配器就是将原本不适合的东西转换成我们想要的最终结果... 查看全文
· 设计模式--适配器(Adapter)模式发布时间:2014-12-11
今天学习另一个设计模式,适配器(Adapter)模式,这是一个共同方向,但有特殊要求,就应用到此设计模式。写到这里,想起很久以前,有写过一篇《ASP.NET的适配器设计模式(Adapter)》http://www.cnblogs.com/insus/archive/2013/02/04/2891426.html,但是似乎没有适配器的味道。比如一个系统,开发时设计好各种权限,但某一种,客户提出要求,需要一个特殊的权限来操作。只好开发一个适配器来让其有这个特殊操作权限。用代码来举例吧。先定义接口... 查看全文
· 设计模式(17)---模板方法模式发布时间:2014-12-10
一、定义模板方法模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。解释:简单来说,需要定义一个通用的基类,但是基类中不同的操作,于是模板方法模式将不同的操作编写成一个抽象函数放到子类中实现,这样即可完成通用基类的目的。二、UML类图及基本代码基本代码:abstractclassAbstractClass{publicabstractvoidPrimitiveOperation1()... 查看全文
今天有学习设计模式的原型(Prototype)《设计模式--原型(Prototype)模式》http://www.cnblogs.com/insus/p/4152773.html。为了加强了解与认识,现再做一个练习。创建一个原型接口:创建一个用户控件,并实现接口:现在网页中有一个按钮,用户点一点这个铵钮,能动态添加这个用户控件,每点击一次,克隆复制一个:演示:源代码下载:http://download.cnblogs... 查看全文
· 设计模式--原型(Prototype)模式发布时间:2014-12-09
写这些也许有人认为“为了模式而模式”。Insus.NET所想到的,每个大师成为大师之前,也许都得这样做。走路,从小就开始学,直至现在,谁还不是为了走路而走路?一直重复着......很多人没有分享自己的经验,分享自己的过程,分享这东西,它不会因为分享而变少了......感动的故事,是因为分享了历程而让人感动......设计模式,在ASP.NET开发过程中,确实很多环境应用得到,也许只因为时间与效率问题,使用了最直接的方法来解决了。往往给以来的维护带来了繁杂变得难以进行... 查看全文