二十三种设计模式

二十三种设计模式,第1张

二十三种设计模式

设计模式

01 单例模式(SingleTon)02 策略模式(strategy)03 工程模式(Factory)

01 单例模式(SingleTon)

一共有八种方式

饿汉式:类的实例、构造方法用private修饰,类加载到内存中时,就创建类的实例;简单实用,线程安全饿汉式,使用static代码块创建对象懒汉式:根据需要进行创建,但是多线程访问可能出现问题
getInstance上加锁:给getInstance增加synchronized,处理了线程不安全问题,坏处是每次调用都要判断是否有锁,效率变低;getInstance方法体枷锁,不可行双重检查:在五的基础上增加了实例为null校验
静态内部类:在静态内部类中创建外部类的实例。类只会加载一次,jvm保证单例。枚举类(java创始人之一,Effective java写了以下方法):不仅可以解决线程同步,还可以防止反序列化。
02 策略模式(strategy)

几乎所有的设计模式都是多态,多态是设计模式的核心思想。理解多态可以更加了解面向对象的优势。
将实现方法部分抽离出来,写成一种设计模式,实现设计思想的解耦合。

03 工程模式(Factory)

任何可以产生对象的方法或类,都可以称之为工厂
单例也是一种工厂
为什莫有了new之后,还要有工厂?

灵活控制生产过程权限、修饰、日志。。。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5719190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存