
设计模式
gghh2015
这个作者很懒,什么都没留下…
展开
-
java观察者模式学习总结
观察者模式在Java语言中的地位极其重要,JDK也提供了对观察者模式的内置支持,实现思路是:Observable类用于创建主题类,当这种子类的对象发生变化时,观测类被通知,观测类必须实现定义了update()方法的Observer接口。 当一个观测程序被通知到一个被观测对象的改变时,update()方法被调用。下面学习到自己搭建观察者模式的步骤:1、创建两个接口,一个是抽象的主题角原创 2016-02-17 21:02:43 · 427 阅读 · 0 评论 -
静态工厂模式&工厂模式&抽象工厂模式&解决的问题
提前总结:工厂模式的主要作用是封装变化,把经常变化的地方封装成一个类。这样可以避免重复,方便维护。使客户代码和实现代码解耦,客户在实例化对象时,依赖于接口,而不是具体的实现类。问题的引出:假如你有一家披萨店,你只会做一种披萨public class PizzaStore{ public Pizza orderPizza(){ Pizza pizza = new Pizza(); pizza.pre原创 2017-11-04 15:58:48 · 558 阅读 · 0 评论 -
单例模式解决多线程的问题
1、懒汉模式把getInstance()方法变成同步方法public class Singleton{ private static Singleton singleton; private Singleton(){} public static synchronized Singleton getInstance(){ if(singleton == null){ singl原创 2017-11-04 16:56:27 · 1355 阅读 · 0 评论 -
设计模式-最少知识原则
当你正在设计一个系统,不管是任何对象,你都要注意它所交互的类有哪些,并注意它和这些类是如何交互的。最少知识原则希望我们在设计中,不要让太多的类耦合在一起,以免修改系统中的一部分,会影响到其他部分。如果许多类之间相互依赖,那么这个系统就会变成一个易碎的系统,它需要花很多成本维护,也会因为太复杂而不容易被其他人了解。下面看一句不太好的代码:(从气象站取得温度计对象,然后再从温度计对象去的温度)原创 2017-11-04 20:46:23 · 644 阅读 · 0 评论 -
java基础-head first 设计模式
1、第一个设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。解释:如果每次新的需求一来,都会是某方面的代码发生变化,那么你就可以确定,这部分的代码需要被抽出来,和其他稳定的代码有所区分。或是:把变化的部分取出来封装起来,以变以后可以轻易的改动或扩充此部分,而不影响不需要变化的其他部分。总之:这几乎是每个设计模式背后的精神所在。原创 2017-10-31 18:50:27 · 556 阅读 · 0 评论 -
适配器模式&装饰者模式&外观模式
关于适配器模式和装饰者模式:个人理解为,适配器是横向的转换接口,而装饰是纵向的包装接口。适配器模式将一个对象包装起来以改变其接口,装饰者模式将一个对象包装起来以增加新的行为和责任,外观模式将一群对象“包装”起来以简化其接口。原创 2017-11-04 20:55:03 · 461 阅读 · 0 评论 -
场景优化-工厂模式和策略模式(非常实用且常用的设计模式)
问题:随着业务代码的复杂度增加,我们的代码中出现了大量的 if-else,一坨一坨的,类特别大,非常难看,而且还伴随着大量的重复代码,特别容易隐藏坑,比如增加或修改场景时,需要把所有重复的代码都改一遍,如果有遗漏就会产生bug。目的:所以要拆解类,要对重复代码抽象。如何实现:使用工厂模式、策略模式、工厂+策略模式对代码拆解。...原创 2019-07-06 18:21:12 · 1230 阅读 · 0 评论