自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT小小鸟~~

我以为我在搬砖,其实是在建造天堂...

  • 博客(13)
  • 收藏
  • 关注

原创 设计模式 —— 组合模式(Composite Pattern)

组合模式(Composite Pattern)概念: 定义:组合模式 允许你将对象组合成树型结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。在大多数情况下,我们可以忽略对象组合和个别对象之间的差别。 在日常生活中我们经常会遇到树型结构的问题,比如典型的公司管理,上司管理不同的下属,下属也可能属于某个部门的上司。组合模式可以模糊简单元素和复杂元素的概念,客户

2016-05-31 15:33:20 760

原创 设计模式 —— 迭代器模式(Iterator Pattern)

迭代器模式(Iterator Pattern)概念: 定义:迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式是一种简单常见的设计模式,在我们使用编程语言中的集合容器都会有迭代器。组成:Aggregate(抽象聚合):共同的接口供所有的聚合使用。ConcreteAggregate(聚合):持有一个对象的集合,并实现 createIterator 方

2016-05-30 23:06:06 748

原创 设计模式 —— 模板方法模式(Template method Pattern)

模板方法模式(Template method Pattern)概念: 模板方法模式 在一个方法中定义一个算法的 骨架,而将一些步骤延迟到子类。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。组成:templateMethod(模板方法):定义了某个算法的模板顺序或一组步骤,其中任何步骤都可以是抽象的,由子类来实现。primitiveOperation1(抽象步骤方法):

2016-05-30 11:20:15 649

转载 设计模式(九)外观模式Facade(结构型)

原文:设计模式(九)外观模式Facade(结构型)感谢作者博文^_^设计模式--外观模式Facade(结构型):1. 概述     外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和

2016-05-30 01:52:44 595

原创 设计模式 —— 适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern)概念: 定义:适配器模式 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。组成:Client:客户端,直接操控适配器。 Target(目标接口):适配器实现的目标接口。 Adapter:适配器,当被调用时委托给被适配者。 Adaptee:被适配者,适配器所有的请求都委托给自己。注:上图是对象适配器模式,在支持

2016-05-30 01:13:15 630

原创 设计模式 —— 命令模式(Command Pattern)

命令模式(Command Pattern)概念: 概述:在软件设计中,我们经常会遇到某些对象发送请求,然后某些对象接受请求后执行,但发送请求的对象可能并不知道接受请求的对象是谁,执行的是什么动作。此时可通过 命令模式 来实现,让发送者和接受者完全的松耦合,这样可大大增强程序的灵活性。 定义:命令模式 将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的

2016-05-29 18:34:53 9369 1

转载 使用 hsdis 查看 JIT 生成的汇编代码

原文:使用hsdis查看jit生成的汇编代码 感谢博主分享背景 JVM 有 HotSpot引擎可以对热代码路径进行有效的 JIT优化,大幅度提升计算密集代码的性能。默认一个方法至少被调用10k次以上才可能被JIT优化。查看JIT工作情况 Java代码public class VolatileBarrierExample { long a; volatile long v

2016-05-26 16:02:10 2399

原创 设计模式 —— 单例模式(Singleton)

单例模式(Singleton)概念: 单例模式 确保一个类只有一个实例,并提供一个全局访问点。经典单例:public class Singleton { private static Singleton uniqueInstance; //构造函数设定为 private,避免被创建 private Singleton() {} public static Sing

2016-05-24 14:18:02 588

原创 设计模式 —— 抽象工厂模式(Abstract Factory)

抽象工厂模式(Abstract Factory)上一篇文章中的工厂模式仅仅产生食物,如牛奶、糖。但如果不同城市的奶和糖加工制造和口味都是不同的。普通的工厂模式就无法满足了,此时我们来看 抽象工厂模式概念: 提供一个创建 一系列 相关或相互依赖对象的接口,而无须指定它们具体的类。组成:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProdu

2016-05-24 02:30:05 651

原创 设计模式 —— 工厂模式(Factory Pattern)

工厂模式(FactoryPattern)概念: 工厂模式 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。组成:工厂模式由 Product 和 Factory 组成。抽象产品(Product):所有产品实现的接口 具体产品(ConcreteProduct):被工厂创建的具体产品 抽象工厂(Creator):所有工厂的抽象类 具体工厂(Concr

2016-05-24 01:25:23 616

原创 设计模式 —— 装饰器模式(Decorator Pattern)

装饰器模式(Decorator Pattern)概念 装饰器模式 允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰者可以在所委托被装饰者的行为之前或之后加上自己的行为,以达到特定的目的。组成装饰器模式由组件和装饰者组成。抽象组件(Component):需要装饰的抽象对象。 具体组件(ConcreteComponent):是我们需要装饰的对象 抽象装饰类(Decorator):内含

2016-05-23 11:46:16 8788 1

原创 设计模式 —— 观察者模式(Observer Pattern)

观察者模式(Observer Pattern)概念 观察者模式:定义了对象之间的一对多个关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。组成图片来源wiki观察者模式由 主题 和 观察者 组成。接口主题类(Subject):主题接口,对象使用该接口成为观察者,主题是有状态的对象。 具体主题类(ConcretSubjectA):该类主要实现了 notifyObser

2016-05-23 10:01:27 632

原创 设计模式 —— 策略模式(Strategy Pattern)

策略模式(Strategy Pattern)概念 策略模式 定义了算法族,分别封装起来,让它们之前可以相互替换,此模式让算法的变化独立于使用算法的客户。 策略模式把 对象本身和运算规则 区分开来,其功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想。组成策略模式 UML 图如下所示: (图片来自维基百科)策略模式将不同的算法封装成类,如上图的 ConcreteS

2016-05-12 21:10:45 772

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除