![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 65
Pure_Man_Ben
这个作者很懒,什么都没留下…
展开
-
七大设计原则笔记
设计模式的目的编写软件过程中,程序员面临着来自耦合性、内聚性以及可以维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)具有更好代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编程规范性,便于其他程序员的阅读和理解)可扩展性 (即:当需要增加新的功能时,非常的方便,也可以称为可维护性)可靠性(即:当我们增加新的功能后,对原来的功能没有影响,就是功能之间...翻译 2020-04-06 13:53:03 · 272 阅读 · 0 评论 -
设计模式_1_单例模式_饿汉懒汉
创建型模式就是帮助我们建一些相关的对象,单例模式就是其中的一种。单例模式:就是一个类只有一个对象,并且提供一个方法访问这个对象。单例只需要生成一个实例,所以内存占用和系统开销比较小,对于一些资源共享和初始化比较慢的资源处理时候,我们可以用单例模式来做。饿汉式的特点:线程安全,调用效率高。缺陷是不能延时加载。一般希望延时加载。饿汉式一般实现要注意三点,第一要私有构造器,把构造器私有了,别人就...原创 2019-09-09 11:22:43 · 210 阅读 · 1 评论 -
设计模式_2_单例模式_双重检测锁_静态内部类_枚举
单例模式的其他三种实现方法,尽量的把懒汉饿汉的优点集聚起来,缺陷避免发生。双重检测锁实现 :将同步方法移到内部,变了方法块,提高了执行的效率,当很多线程同时的调的时候,只有第一次调的时候才同步,创建了以后就不用同步。代码package com.cb.study01;/* * 双重检查锁实现单例模式 */public class SingletonDemo03 { privat...原创 2019-09-09 15:23:03 · 203 阅读 · 0 评论 -
设计模式_3_单例模式_反射和反序列化的漏洞和解决方案
前两篇介绍了创建单例模式的五种方式,而其中有四种(除了枚举)可以通过反射和反序列化破解的。 通过反射,创建两个不同的对象package com.cb.study01;import java.lang.reflect.Constructor;/* * 测试反射和反序列化 */public class Client1 { public static void main(Str...原创 2019-09-10 16:30:13 · 219 阅读 · 0 评论 -
设计模式_4_简单工厂模式
工厂模式:实现了创建者和调用者的分离,就帮助我们实例化对象。开闭原则(ocp):一个软件的实体应当对扩展开放,对修改关闭。也就是说如果要增加新的功能,不要修改里面的东西,而通过增加新的例来实现。依赖倒转原则(dip):要针对接口编程,不要针对实现编程。比如有两个实现类,a类调b类,a类依赖于b,dip原则要依赖于抽象,不依赖于具体,就是 a类调b类,b类实现一个接口,a类调这个接口,a类和接...原创 2019-09-19 15:01:05 · 184 阅读 · 0 评论