设计模式
风雨雾花丶
这个作者很懒,什么都没留下…
展开
-
设计模式 --- 工厂模式factory ---- 创建型
参考:https://www.zhihu.com/question/20367734 定义 任何可以产生对象的方法或者类,都可以吃称之为工厂 单例也是一种工厂,灵活控制生产过程,权限,修饰,日志 专门生产对象,把对象的实例化和初始化都封装起来 只需要获取相关对象实例,而不关心实际的生产过程 应用场景 1.任意定制交通工具 2.任意定制生产过程 3.任意定制产品一族 简单工厂 常用于具体的工具很少扩展的情况下,因为内部实现简单,直接可以使用,如果需要扩展,则需要修改内部实现,就违反了开闭原则原创 2021-09-05 22:31:21 · 160 阅读 · 0 评论 -
设计模式 --- 策略模式strategy ---- 行为型
参考:https://zhuanlan.zhihu.com/p/273325520 应用场景 当程序中需要对多个对象,或者是多个方法进行比对 同样的类需要适用于不同的场景的时候 或者同样一个方法,里面会涉及到很多不同的分支和逻辑时 (此处体会不深,有大佬发现的话,欢迎来喷) 举个栗子 比如现在需要对猫狗进行排序,那么是对比体重,还是身高,或者还需要对牛进行排序时,那么就需要不同的策略来实现不同的比对 优点:可以定义多个不同的类来实现不同的比对,实现业务代码上的解耦 缺点:定义了多个类,增加原创 2021-09-05 21:25:14 · 138 阅读 · 0 评论 -
设计模式 --- 单例模式singleton --- 创建型
应用场景 只需要一个实例,在代码和内存方面只希望它有一个实例出来 关键点 第一:构造方法设计成私有的 无法new 出来 第二:提供获取实例的方法 相关概念 1.class.forName("")可以加载类名,静态变量load到内存,就会实例化 2.哈希码相同也不一定是同一个对象 3.final修饰的变量必须要初始化 写法相关 饿汉式 优点:类加载到内存 就实例化一个单利 jvm保证线程安全,简单实用 缺点:不管用到与否,类装载时就完成了实例化 代码块 pub...原创 2021-09-05 20:55:07 · 188 阅读 · 0 评论