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

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 模式 >>列表
· Java设计模式之模板方法模式发布时间:2013-09-20
在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(TemplateMethod)模式的:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。模板方法模式的结构模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具体子类的设计师之间的协作... 查看全文
· Java设计模式之观察者模式发布时间:2013-09-19
【摘录】观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。抽象主题(Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里... 查看全文
· Java设计模式之简单工厂模式发布时间:2013-09-19
一、什么是简单工厂模式?简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,一般都是实现一个接口,而这个接口又被这个工厂所依赖。二、模式中包含的角色及其职责1.工厂(Factory)角色简单工厂模式的核心,它负责实现创建所有实例。工厂类可以被外界直接调用,创建所需的产品对象,里面的方法一般被声明为静态的。2.抽象(Interface)角色简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。3... 查看全文
一、引言在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,如果此时让采购员一台一台电脑去组装的话真是要累死采购员了,这里就可以采用建造者模式来解决这个问题,我们可以把电脑的各个组件的组装过程封装到一个建造者类对象里,建造者只要负责返还给客户端全部组件都建造完毕的产品对象就可以了。然而现实生活中也是如此的... 查看全文
最近这一年,我去有些企业做交流的时候,主办方经常要求我讲一讲颠覆式创新。这个时候,我就一般都会问:有没有大领导在场?有大领导在场,我就比较纠结。颠覆式创新,英文是disruptiveinnovation。Disruptive这个词本义是打破或者中止了旧有的秩序,让事物按照新的规则进行。Disruptiveinnovation指的是这样一种创新,它创造了新的价值、新的市场,打破了旧有的市场,并取而代之。我最怕大领导听完后,拍着我肩膀说:小周,讲创新是挺好的,但颠覆嘛,这个就不要讲了。我心想... 查看全文
9月16日消息,从360推出随身WiFi热卖到小米共享WiFi引发舆论讨伐,免费WiFi已然成了移动互联网领域最热的话题,近日一家名为“WiFi伴侣”的APP加入免费WiFi的战局,他们采取了简单粗暴的操作模式——向运营商购买流量来吸引用户使用。厦门歪坏信息科技有限公司CEO连志尧称,WiFi伴侣最大的费用不是技术开发、人员工资和市场营销,而是向运营商购买流量。当用户搜索到中国移动CMCC热点,点击了一键免费上网后... 查看全文
· C#设计模式(3)——抽象工厂模式发布时间:2013-09-16
一、引言在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,一个工厂创建一系列的产品,如果我们要设计这样的系统时,工厂方法模式显然在这里不适用,然后抽象工厂模式却可以很好地解决一系列产品创建的问题,这是本专题所要介绍的内容。二... 查看全文
· C++设计模式之代理发布时间:2013-09-15
C++设计模式之代理废话少说,先奉上代码:#include"stdafx.h"#include<iostream>usingnamespacestd;classIKindwomen{public:IKindwomen(void);~IKindwomen(void);virtualvoidmakeEyesWithMan();virtualvoidtlaWithMan();};classWangPo{public:WangPo(IKindwomen*pKindwomen)... 查看全文
迭代器模式目录:需求使用JDK源码深入:为何要单独抽离出一个Iterator接口?正文:容器,在不同语言中都扮演着重要的角色,如Java中的List、Set和Map。迭代器模式是为容器而生的设计模式,是容器遍历的精灵。第一部分:需求1)使用者:针对多种容器,希望所有遍历方法一样,如容器更换代码无需变动2)被使用者:不希望暴露内部实现细节,不同类型容器如何实现不需了解第二部分:使用迭代器的使用很简单,下面举例例子1:ArrayListpublicstaticvoidmain... 查看全文
· 白话说设计模式之装饰者模式发布时间:2013-09-15
设计模式分为三大类型,一创建型,二结构型,三行为型.而装饰者(decorator)模式是属于结构型的一种.此模式主要的适应情况是:需要多种情况组合出现时.也就是调用一个方法的时候,可能是ABC三个中的一种,也可能是他们的组合.AB,AC,BC,AC等等.如果听到类似的情形,需要组合多种情况出现的时候,就需要考虑到使用此种模式了.这个模式顾名思义:就是装饰,一个本体可以有多种装饰物,多个装饰物用来修饰一个本体.下面我们来举个小例子来加深下了解:大致情况是:一家人在吃饭,小明的碗里只有白米饭... 查看全文
娱乐明星陈坤微信公众账号:左为个人主页,右为会员制介绍微信公众账号的新一轮玩法即将掀起。昨晚,娱乐明星陈坤的官方微信账号吸引了众人的注意。该账号通过接入微信支付实现的会员功能,让微信公众平台的增值服务价值被更多人所认识。据微信官方向腾讯科技介绍,目前明星会员制还属于试运营期,这种模式也不会仅仅局限于明星,未来会逐步开放给所有愿意尝试这种合作模式的企业。在试运营期间,微信也不会参与会员收入分成。陈坤微信公众账号玩法相比于以往明星普遍采用信息推送以实现交流的方式,陈坤的微信公众账号并非订阅号类型... 查看全文
· 设计模式之十(外观模式)发布时间:2013-09-12
前言外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一系统更加容易使用.结构图SubSystemClass子系统类集合实现子系统的功能,处理Facade对象指派的任务,注意子类中没有Facade的任何信息,即没有对Facade对象的引用代码实现首先是四个子系统的类publicclassSubSystemOne{publicvoidMethodOne(){Console.WriteLine("子系统方法一");}... 查看全文
已经很久没更新Launcher系列文章,今天不分析源码,讲讲如何在Launcher里面添加桌面设置的功能。目前很多第三方Launcher或者定制Rom都有简单易用的桌面设置功能。例如小米MIUI的Launcher就有很丰富编辑功能。今天开始会讲一下如何实现桌面编辑功能。网上对于实现Launcher一些编辑功能的文章凤毛麟角,基本没什么资料可以参考,只能靠自己摸索对比别人Launcher的效果。桌面编辑功能我主要分为壁纸设置、Widget插件、切换特效、主题4个部分... 查看全文
· 设计模式之九(模版方法模式)发布时间:2013-09-11
前言模版方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。结构图代码实现AbstractClass是抽象类,其实也就是一抽象类,定义并实现了一个模版方法,这个模版方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。publicabstractclassAbstractClass... 查看全文
最新最准确内容建议直接访问原文:单例模式主要介绍单例模式的标准写法、注意事项、作用、测试,以Java语言为例,下面代码是目前见过最好的写法:publicclassSingleton{privatestaticvolatileSingletoninstance=null;//privateconstructorsuppressesprivateSingleton(){}publicstaticSingletongetInstance(){//ifalreadyinited... 查看全文
· C#设计模式(3)——工厂方法模式发布时间:2013-09-09
一、引言在简单工厂模式中讲到简单工厂模式的缺点,有一点是——简单工厂模式系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样就会造成简单工厂的实现逻辑过于复杂,然而本专题介绍的工厂方法模式可以解决简单工厂模式中存在的这个问题,下面就具体看看工厂模式是如何解决该问题的。二、工厂方法模式的实现工厂方法模式之所以可以解决简单工厂的模式,是因为它的实现把具体产品的创建推迟到子类中,此时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口... 查看全文
· 浅谈java单例模式延迟加载发布时间:2013-09-09
浅谈java单例模式延迟加载普通单例无法延迟加载,如:publicclassSingleton{privateSingleton(){System.out.println("Singletoniscreating....");}privatestaticSingletoninstance=newSingleton();publicstaticSingletongetInstance(){returninstance;}}于是我想到:publicclassSingleton... 查看全文
科技产业里昔日巨头起死回生的故事不算太少,而柯达或许将奉献这一幕。本周四,有两家柯达公司分别在上海和北京召开了新闻发布会,正式在中国重新亮相。名为KodakAlaris的新公司继承了老柯达的个性化影像和文档影像业务,名为Kodak的公司则继承了老柯达的商业印刷业务。尽管从法律关系上看两家公司毫无联系,但如此协调一致的步调说明两家公司内部仍有沟通。一家早已被媒体和业界宣判了死刑的百年老店,居然一分为二,在完整继承柯达各项业务的基础上摆脱危机,堪称原地复活的典范。谁救了柯达... 查看全文
近日,谷歌发布了全新的桌面版Chrome应用商店。与之前不同的是,用户可以下载应用至桌面并可离线使用。据美国《纽约时报》报道,为了庆祝Chrome浏览器5周岁生日,谷歌引入了一种能够离线使用的Chrome应用程序,而且能在谷歌操作系统之外的系统运行。这一做法的确让很多人费解。直到当前,谷歌的Chrome网页应用程序只能在线运行。谷歌公司称,新的应用程序涵盖离线应用和在线应用中的精品,与智能手机的应用十分类似。比如,他们允许用户在没有网络链接的情况下工作,而且能接入类似数码相机的硬件... 查看全文
关于Repository模式,在这篇文章中有介绍,EntityFramework返回IEnumerable还是IQueryable?这篇文章介绍的是使用EntityFramework实现的Repositoy模式设计,欢迎各位拍砖.阅读目录:一、实现的思路和结构图二、Repository设计具体的实现代码三、Repository设计的具体的使用四、总结一,实现的思路和结构图总结一下,Repository在实际使用中,有下面三种特点:Repository的共同性有一些公共的方法(增删改查)... 查看全文