
设计模式
naivor
if you know more,you find you know less...<br>(你了解的越多,你会发现你知道的其实很少。。。)
展开
-
第二篇 设计模式--工厂方法模式
定义:工厂模式是我们软件设计最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性可更少的修改量代码:package factorymodel.factorymethord;/** * * * @author naivor 工厂方法模式_场景类 */public class原创 2015-01-30 11:20:45 · 422 阅读 · 0 评论 -
第十四篇 设计模式--外观模式
定义:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。代码:package facede_model;/** * @author naivor * 外观模式-场景类 */public class FacedeModel { public static void main(String[] args) { Fac原创 2015-02-04 13:45:30 · 497 阅读 · 0 评论 -
第十七篇 设计模式--命令模式
定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,可以对请求排队或记录请求日志,以及支持可撤销的操作。代码:package command_model;/** * @author naivor * 命令模式-场景类 */public class CommandModel { public static void main(String[] args)原创 2015-02-04 15:50:47 · 340 阅读 · 0 评论 -
第二十篇 设计模式--解释器链模式
定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。代码:package interpreter_model;import java.util.ArrayList;import java.util.List;/** * @author naivor * 解释器模式-场景类 */public class Interpret原创 2015-02-05 09:56:28 · 381 阅读 · 0 评论 -
第二十一篇 设计模式--中介模式
定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。代码:package mediator_model;/** * @author naivor * 中介模式-场景类 */public class MediatorModel { public static void main(String[]原创 2015-02-05 11:10:34 · 343 阅读 · 0 评论 -
第七篇 设计模式--原型模式
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新对象。好处:新实例持有原实例的状态(各变量的值)类型一:浅复制代码:package prototype_model.shallowcopy;/** * @author naivor * 原型模式-浅复制-场景类 */public class ShallowCopy { public static void原创 2015-02-03 16:59:19 · 368 阅读 · 0 评论 -
第二十三篇 设计模式--策略模式模式
定义:定义一系列的算法,把它们一个个封装起来,并且使他们可相互替换。本模式使得算法可以独立于使用它的客户端而变化。代码:package strategy_model;/** * @author naivor * 策略模式-场景类 */public class StrategyModel { public static void main(String[] args) {原创 2015-02-05 14:18:43 · 335 阅读 · 0 评论 -
第二十四篇 设计模式--备忘录模式
定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。因此以后就可将该对象恢复到原先保存的状态。代码:package memento_model;/** * * @author naivor * 备忘录模式-场景类 */public class MementoModel { public static void main(String[] arg原创 2015-02-05 14:53:41 · 450 阅读 · 0 评论 -
第二十五篇 设计模式--迭代器模式
定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。代码:package iterator_model;import java.util.ArrayList;import java.util.List;/** * * @author naivor * 迭代器模式-场景类 */public class IteratorModel { publi原创 2015-02-05 15:50:03 · 389 阅读 · 0 评论 -
第二十二篇 设计模式--访问者模式
定义:表示一个作用于某个对象结构中的各元素的操作,使你可以在不改变个元素的类的前提下定义作用于这一系列元素的新操作。、代码:package visitor_model;import java.util.ArrayList;import java.util.List;/** * @author naivor * 访问者模式-场景类 */public class Visit原创 2015-02-05 13:41:39 · 365 阅读 · 0 评论 -
第十九篇 设计模式--职责链模式
定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。代码:package chainofresponsibility_model;public class COFModel { public static void main(String[] args) { Handler hand原创 2015-02-04 17:44:39 · 301 阅读 · 0 评论 -
第三篇 设计模式--抽象工厂模式
定义:工厂模式是我们软件设计最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性和更少的修改量代码:package factorymodel.abstractfactory;/** * * @author naivor 抽象工厂模式_场景类 * */public class AbstractFac原创 2015-01-30 13:57:03 · 438 阅读 · 0 评论 -
第十一篇 设计模式--组合模式
定义:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。代码:package composite_model;import java.util.ArrayList;/** * @author naivor * 组合模式-场景类 */public class CompositeModel { public stati原创 2015-02-04 10:58:18 · 568 阅读 · 0 评论 -
第六篇 设计模式--建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得相同的构建过程可以创建不同的表示。好处:客户端不必知道具体的创建过程;有利于系统扩展。代码:package builder_model;/** * @author naivor * 建造者模式-场景类 */public class BuilderModel { public static void main(String [原创 2015-02-03 16:12:57 · 406 阅读 · 0 评论 -
第一篇 设计模式--简单工厂模式
定义:工厂模式是我们软件设计最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性可更少的修改量原创 2015-01-30 09:50:43 · 429 阅读 · 0 评论 -
第四篇 设计模式--懒汉单例模式
单例模式定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。懒汉单例:仅在需要时创建。好处:提供对唯一实例的受控访问,节约系统内存资源。package singleton.lazysingleton;/** * @author naivor * 懒汉单例模式-场景类 */public class LazySingleton { public stati原创 2015-02-03 14:43:08 · 361 阅读 · 0 评论 -
第五篇 设计模式--饿汉单例模式
单例模式定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。饿汉单例:在类被加载时就创建。好处:提供对唯一实例的受控访问,节约系统内存资源,解决在多线程中懒汉单例无法做到保证一个类只有一个实例的情况。package singleton.hungrysingleton;/** * @author naivor * 饿汉单例模式-场景类 */public cl原创 2015-02-03 14:53:02 · 485 阅读 · 0 评论 -
第十二篇 设计模式--享元模式
定义:运用共享技术有效地支持大量细粒度对象。代码:package flyweight_model;import java.util.Hashtable;/** * @author naivor * 享元模式-场景类 */public class FlyweightModel { public static void main(String[] args) { Fly原创 2015-02-04 11:35:43 · 435 阅读 · 0 评论 -
第八篇 设计模式--适配器模式
定义:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容不能一起工作的那些类可以一起工作。代码:package adapter_model;/** * @author naivor * 适配器模式-场景类 */public class AdapterModel { public static void main(String [] args){ Curre原创 2015-02-03 17:49:08 · 431 阅读 · 0 评论 -
第九篇 设计模式--装饰模式
定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活。代码:package decorator_model;/** * @author naivor * 装饰模式-场景类 */public class DecoratorModel { public static void main(String [] args){ Concre原创 2015-02-04 09:34:37 · 469 阅读 · 0 评论 -
第十五篇 设计模式--观察者模式
定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。代码:package observer_model;import java.util.ArrayList;/** * @author naivor * 观察者模式-场景类 */public class ObserverModel { public static原创 2015-02-04 14:37:28 · 329 阅读 · 0 评论 -
第十六篇 设计模式--模版方法模式
定义:定义一个操作的算法骨架,而将一些步骤延迟到子类中,模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。代码:package template_model;/** * @author naivor * 模版方法模式-场景类 */public class TemplateModel { public static void main(String[]原创 2015-02-04 15:14:11 · 449 阅读 · 0 评论 -
第十篇 设计模式--桥接模式
定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。代码:package bridge_model;/** * @author naivor * 桥接模式-场景类 */public class BirdgeModel { public static void main(String[] args) { Abstraction abstraction=ne原创 2015-02-04 10:16:47 · 456 阅读 · 0 评论 -
第十三篇 设计模式--代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问。代码:package proxy_model;/** * @author naivor * 代理模式-场景类 */public class ProxyModel { public static void main(String[] args) { Request subject=new Proxy(); //请求时直接找原创 2015-02-04 12:00:10 · 343 阅读 · 0 评论 -
第十八篇 设计模式--状态模式
定义:允许一个对象在其内部状态改变时改变它的行为,让对象看起来似乎修改了它的类。定义:package state_model;/** * @author naivor * 状态模式-场景类 */public class StateModel { public static void main(String[] args) { Context context=new Co原创 2015-02-04 17:05:18 · 410 阅读 · 0 评论 -
安卓开发 第七篇 我的安卓应用架构设计-----Adapter类及ViewHolder类
在Android开发中,对于AdapterView类型的控件,我们都需要通过适配器来给它设置数据,如果显示的内容比较简单,我们通常使用SimpleAdapter或者ArrayAdapter,而对于复杂多变的数据,我们一般使用自定义一个继承自BaseAdapter的Adapter来处理。为了itemview的复用,我们通常用一个Viewholder来包装itemview里面的控件。在我的安卓架构中,使原创 2016-05-11 10:44:44 · 4259 阅读 · 2 评论