设计模式
Soon_苏大强
这个作者很懒,什么都没留下…
展开
-
设计模式学习之路-代理模式
学习了简单工厂模式,策略模式,装饰者模式。设计原则有单一职责原则,开放-封闭原则,依赖倒置原则,里氏代换原则。学会使用才是关键,在自己做项目时,拿到一个需求,先对其进行结构分析,选用合适的设计模式,在编程时注意设计原则,经常使用就能把这些设计原则铭记于心。 直接进入主题,代理模式。 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 看一下基本代码。 abstr原创 2016-08-31 09:54:25 · 249 阅读 · 0 评论 -
设计模式学习之路-抽象工厂模式
之前学过了简单工厂模式,工厂方法模式,简单工厂在创建的时候,需要传入一个识别符,然后返回相应的实例。而工厂方法在需要的时候,创建相应的工厂类,获得相应的实例。 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或互相依赖的接口,而无需指定它们具体的类。 看看UML类图 基本代码 /// /// 抽象产品A /// public ab原创 2016-09-08 16:49:38 · 339 阅读 · 0 评论 -
设计模式学习之路-观察者模式
设计模式就是解决问题和优化代码的经验总结,站在巨人的肩膀上,才能达到更高的高度。原创 2016-09-07 17:13:03 · 398 阅读 · 0 评论 -
设计模式学习之路-建造者模式
建造者模式,使我们经常提到一个模式,而且很多地方都用到了,比如AlertDialog创建使用Builder。这也是建造者模式的体现,那么我们平时在写代码的时候也可以使用这个方式,来梳理代码逻辑。 建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者的UML类图 基本代码 absract class Builder{ pu原创 2016-09-06 20:01:16 · 242 阅读 · 0 评论 -
设计模式学习之路-外观模式
设计模式最重要的还是在于运用,多做多看多练。这是唯一能提高技术水平的道路。没有捷径! 外观模式(Facade),为子系统中一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2016-09-05 17:55:08 · 270 阅读 · 0 评论 -
设计模式学习之路-策略模式
工厂模式很简单,也很好上手,那么接下来学习策略模式,我们就以商场的收银系统作为需求,使用策略模式完成。达到学习了解策略模式的目的。 策略模式(strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 先看看策略模式的结构图: 通过Context的实例去调用不同具体实例的方法。那么根据策略模式的结构图,商场收银系统的UM原创 2016-08-24 16:48:40 · 345 阅读 · 0 评论 -
设计模式学习之路-装饰者模式(附设计原则)
设计模式,学过了简单工厂和策略模式,简单实用,在设计代码的时候,经常使用就会养成一个好的代码习惯,时时刻刻保持代码的可维护性,可复用性,灵活性,可扩展性。这些是写出优美代码的前提。那么接下来,一起学习一些设计原则。 第一个设计原则: 单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。白话呢,就是一个类,职责作用尽可能的单一,这样就可以降低耦合性,提高代码的可维护性,灵活性。原创 2016-08-29 17:09:43 · 832 阅读 · 0 评论 -
设计模式学习之路-简单工厂模式
设计模式是程序员进阶的必经之路,这也是我的必经之路,也许大家当初为了面试所需都强记过一些设计模式的名字,像单例模式,工厂模式,策略模式,观察者模式,代理模式,适配器模式,命令模式等等。我当初就是知其然不知其所以然,现在决定把设计模式都认真学习一遍,没有代码量是不可能成功的,所以在学习过程中,记录下所有代码。见证成长。 那么先从最简单的工厂模式开始,工厂模式,顾名思义就是生产实例的工厂。也就是在设原创 2016-08-23 17:35:56 · 377 阅读 · 0 评论 -
设计模式学习之路-组合模式
组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。在设计一个Android开发中,在设计一些对象关系时,总会出现树形结构,权限问题。若是整个树状图没设计好,那么后期很容易崩溃。这个时候组合模式很合适。看看UML类图。 基本代码 abstract class Component{ protected String nam原创 2016-09-14 10:32:26 · 513 阅读 · 0 评论 -
设计模式学习之路-原型模式
由于我是做Android的,所以不可能把所有的模式都学一遍,理一遍。我只是想多学一点Android经常用的模式。比如之前学的的代理模式,在Android里很少用到,一般在电脑编程中的远程代理和虚拟代理用的比较多。所以我会选择性的记录学习过程中对Android开发有意义的设计模式。不可能每个模式都去细嚼慢咽。 这里的原型模式也是,Android很难用到。废话不多说,看看原型模式吧。 原型模式(P原创 2016-09-02 11:03:24 · 371 阅读 · 0 评论 -
设计模式学习之路-模板方法模式
这个模式在Android中是可以用到的,当我们要完成某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板模式方法的相关UML类图。 基本代码 abstract clas原创 2016-09-02 14:29:03 · 294 阅读 · 0 评论 -
设计模式学习之路-备忘录模式
备忘录模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 这个模式也很简单,最主要是一种思想。逻辑缜密的人在设计框架时必然走到这里。我们看看UML类图。 基本逻辑代码: class Originator{ private String state; public Memento createMemento(原创 2016-09-13 12:02:15 · 452 阅读 · 0 评论 -
设计模式学习之路-工厂方法模式
工厂方法模式乍一听和简单工厂模式很相似。很容易把他们弄混。我们先来学习什么是工厂方法模式。 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。原创 2016-09-01 10:24:57 · 311 阅读 · 0 评论 -
设计模式学习之路-适配器模式
适配器模式,将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 那么何时使用适配器模式呢,一般在项目后期维护时,一些已有的不可更改或很难更改的类,需要使用其他的类的接口,那么就可以根据需求创建一个适配器。 看看适配器的UML类图 基本得逻辑代码 class Target{ public void Request原创 2016-09-12 17:29:02 · 328 阅读 · 0 评论 -
设计模式学习之路-状态模式
状态模式,实时监测状态,当状态发生变化原创 2016-09-09 14:37:42 · 285 阅读 · 0 评论 -
设计模式学习之路--解释器模式
设计模式是进阶到架构师的必备技能,当然不只是记住他们的名字,而是要学会他们的精髓。这就不简单了,还是得靠经验和学习。无美女,不代码!原创 2017-01-07 19:12:33 · 319 阅读 · 0 评论