![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式是比框架更高级的概念,模式不是代码,而是针对问题的解决方案,是历经验证的OO设计经验,着眼于变化。使用模式时要想着依赖的原则和模式的目的,从而灵活使用模式。模式让开发人员之间有共享的语言,最大化沟通价值。
一生悬命z
这个作者很懒,什么都没留下…
展开
-
《HeadFirst设计模式》(5)——单例模式
文章目录模式定义问题场景代码初级版初级版缺陷进阶版饿汉——急切(eagerly)实例化双重检查加锁模式定义单例模式 确保类只有一个实例,并提供一个全局访问点。问题场景对于很多对象我们应当只能有一个,比如打印机、注册表等,如果有多个实例就会造成资源使用过量或者不一致。代码初级版public class Singleton{ //私有的静态变量记录唯一实例 priva...原创 2019-12-17 17:09:26 · 125 阅读 · 0 评论 -
《HeadFirst设计模式》(4)——工厂模式
文章目录前言简单工厂模式工厂方法模式模式定义设计原则问题场景类图代码抽象工厂模式前言当我们使用new实例化具体类时,针对的是实现编程,而不是接口,这会让代码缺乏弹性。比如`Pizza chickenPizza = new chickenPizza();虽然左边使用了接口,但右面还是得建立具体类的实例。当有一群具体类并且需要运行时才确定需要实例化哪一个时,通常会写出如下代码: Pizz...原创 2019-12-15 11:23:08 · 142 阅读 · 0 评论 -
《HeadFirst设计模式》(3)——装饰者模式
模式定义给爱用继承的人一个全新的设计眼界——使用组合达到复用效果。装饰者模式(Decorator) 动态地将功能附加到对象上。若要扩展功能,装饰者提供了比继承更具弹性的方案。装饰者和被装饰者具有相同的超类型(抽象类/接口)。可以使用一个或多个装饰者包装一个对象。由于装饰者和被装饰者具有相同的超类型,因此在任何需要原始对象的场合,都可以使用装饰者来代替它。装饰者可以在被装饰者前、后...原创 2019-12-12 16:41:00 · 127 阅读 · 0 评论 -
《HeadFirst设计模式》(2)——观察者模式
模式定义观察者模式(Observer) 定义了对象间的一对多依赖,当一个对象(Subject)状态改变时,所有的依赖者(Observer)都会收到通知并自动更新。设计原则松耦合设计。 双方不知道彼此具体是什么,只知道对方是一类的对象就行。问题场景有一个气象站,存有采集到的气象数据。目前的工作为建立一个应用,利用气象站的数据更新三个布告板:目前状况、气象统计、天气预报。要求当气象数据更新...原创 2019-12-11 20:43:05 · 131 阅读 · 0 评论 -
《HeadFirst设计模式》(1)——策略模式
模式定义**策略模式(Strategy Pattern)**定义了算法族,并将他们封装起来,彼此之间可以相互替换,此模式让算法的变化独立于使用算法的客户。设计原则问题场景...原创 2019-12-11 10:58:01 · 171 阅读 · 0 评论