设计模式
文章平均质量分 89
Happywuw
学习如逆水行舟,不近则退!
由于目前公司有很不错的学习平台,以及个人笔记平台,暂停博客更新。但也会定期把笔记批量更新到博客。
展开
-
设计模式-1.简单工厂模式
设计模式之前就有接触过些,后来又系统的学习了一下,现在想把学习的内容总结一下。 天才在于积累,聪明在于勤奋。——华罗庚 共勉!设计模式的好处:使得程序可维护,可扩展,可复用。 简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例原创 2017-02-06 11:07:51 · 387 阅读 · 0 评论 -
Spring中的设计模式学习
Spring提供了一种Template的设计哲学,包含了很多优秀的软件工程思想。1. 简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Be转载 2017-10-12 23:09:38 · 278 阅读 · 0 评论 -
设计模式应用相关面试题目
设计模式理论1.什么是设计模式?你是否在你的代码里面使用过任何设计模式?在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。平时用的比较多有单例模式(在内存中仅实例化一个对象时使用),适配器模式(典型的就是ListView和GridView的适配器),建造者模式(AlertDialog.Builder),观察者模式可转载 2017-10-13 11:15:55 · 3545 阅读 · 0 评论 -
设计模式学习起点 UML类图笔记
UML定义类之间的关系主要有六种:泛化关系、实现关系、依赖关系、关联关系、聚合关系和组合关系。下面分别学习这几种关系。泛化关系(Generalization)使用带空心三角形的实线表示。汽车与SUV之间为泛化关系:泛化关系相当于面向对象中的继承关系。最终代码中,泛化关系表现为继承非抽象类。 实现关系(Emlpementation)使用转载 2017-10-12 22:58:47 · 389 阅读 · 0 评论 -
设计模式--12.外观模式
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。模式实现 外观模式的主要目的在于降低系统的复杂程度,在面向对象软件系统中,类与类之间的关系越多,不能表示系统设计得越好,反而表示系统中类之间的耦合度太大,这样的系统在维护和修改时都缺乏灵活性,因为一个类的改动会导致多个类发生变化,而外观模式的引入在很原创 2017-02-08 15:36:48 · 351 阅读 · 0 评论 -
设计模式:11.迪米特法则
迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中的一个类需要调用另一个类的某个方法的话,可以通过第三者转发这个调用。1.在类的结构设计上,每一个类都应当尽量降低成员的访问权限。2.迪米特法则的根本思想是强调了类之间的松耦合。3.类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。原创 2017-02-08 14:49:51 · 286 阅读 · 0 评论 -
设计模式--10.模板模式
模板模式:定义一个操作中的算法骨架,而将一些操作延迟到子类。模板方法使得子类可以不改变一个算法的结构,即可重定义该算法的某些特定步骤。模式模式举例说明: 上述可以我们学习模板模式的动机来源于Glide,那我们就来模拟Glide定义不同的数据源模板来举例 1.)先定义下载抽象类AbstractImageLoader public a原创 2017-02-08 14:21:47 · 294 阅读 · 0 评论 -
Java之美[从菜鸟到高手演变]之面试复习提纲
转载自:http://blog.csdn.net/zhangerqing/article/details/8731044Java面试复习提纲作者:egg邮箱:xtfggef@gmail.com微博:http://weibo.com/xtfggef博客:http://blog.csdn.net/zhangerqing本章主要介绍转载 2017-02-16 18:38:53 · 612 阅读 · 0 评论 -
设计模式--9.原型模式
原型模式:用原型模式指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过new来创建。 原型模式有两种表现形式:(1)简原创 2017-02-08 13:58:00 · 309 阅读 · 0 评论 -
设计模式--7.代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。代理模式类图:原创 2017-02-07 15:13:41 · 269 阅读 · 0 评论 -
设计模式--6.装饰模式
装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活。结构图:代码实现:抽象类:package unit1to6.test6;package unit1to6.test6;public abstract class Component { public abstract void Operation();}原创 2017-02-07 14:42:24 · 417 阅读 · 0 评论 -
设计模式 --3.单一职责原则,4.开发-封闭原则,5依赖倒转原则
单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。如果你能想到多余一个的动机去改变一个类,那么这个类就是具有多于一个的职责。原创 2017-02-06 15:23:25 · 138 阅读 · 0 评论 -
设计模式--2.策略模式
策略模式:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变换,不会影响到使用算法的客户。当存在以下情况时使用Strategy模式1)• 许多相关的类仅仅是行为有异。 “策略”提供了一种用多个行为中的一个行为来配置一个类的方法。即一个系统需要动态地在几种算法中选择一种。2)• 需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间 /时间权衡的算法。当这些原创 2017-02-06 15:09:59 · 327 阅读 · 0 评论 -
Java单例模式——并非看起来那么简单
Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制转载 2018-01-24 14:28:19 · 392 阅读 · 0 评论