设计模式学习
文章平均质量分 89
学习、思考、应用
Java-Talk
这个作者很懒,什么都没留下…
展开
-
设计模式在JDK源码中的应用
一 工厂模式 工厂类都是以 Factory 作为后缀来命名。 工厂类的功能主要就是创建对象。 是不是所有的工厂模式中都以Factory作为后缀来命名呢? 不是的,我们以 java.util.Calendar 为例。 public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar> { //... public static Calendar getInstance..原创 2021-02-17 14:03:10 · 765 阅读 · 8 评论 -
04-享元模式
一 什么是享元模式 享元模式是指共享的单元,享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。 二 享元模式与单例、缓存、对象池对比 2.1 享元模式与单例 在单例模式中,一个类只能创建一个对象,而在享元模式中,一个类可以创建多个对象,每个对象被多处代码引用共享。实际上,享元模式有点类似于之前讲到的单例的变体:多例。 我们前面也多次提到,区别两种设计模式,不能光看代码实现,而是要看设计意图,也就是要解决的问题。尽管从代码实现上来看,享元模式和...原创 2020-09-30 15:20:40 · 316 阅读 · 0 评论 -
值得拥有的Java编程规范
一 命名与注释 1.1 命名 命名的关键是能准确的表达意思。在足够表达其含义的情况下,命名当然是越短越好。 方法内部的临时变量推荐短命名,类名建议长命名,大家耳熟能详的,命名用缩写。 命名要可读、可搜索,命名过程符合项目的统一规范,最好能做到见名知意。 接口命名方式一:接口加前缀“I”,比如 IUserService,对应的实现类命名为 UserService。 接口命名方式二:不加前缀,比如 UserService,对应的实现类加后缀“Impl”,比如 UserServiceImpl。 抽象原创 2020-08-29 14:11:40 · 359 阅读 · 0 评论 -
面向对象设计原则和思想
一 单一职责原则 1.1 单一职责原则概念 单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。这个原则的英文描述是这样的:A class or module should have a single responsibility。如果我们把它翻译成中文,那就是:一个类或者模块只负责完成一个职责(或者功能)。 一个类只负责完成一个职责或者功能。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。换个角度来讲就是,一个类...原创 2020-08-08 15:54:57 · 1305 阅读 · 0 评论 -
01-单例还是多例
目录 一 什么是单例模式 二 使用单例模式的优点 三 单例模式的实现方式 3.1 懒汉式-基础版 3.2懒汉式-线程安全版 3.3 懒汉式-双重检查加锁版 3.4 饿汉式 3.5Holder模式 3.6 枚举 一 什么是单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二 使用单例模式的优点 减少了类的频繁创建,降低了系统资源开销。 类...原创 2019-09-26 10:08:09 · 360 阅读 · 0 评论 -
02-工厂模式实践
目录 一 什么是简单工厂模式 二 什么场景适合使用简单工厂模式 三 简单工厂模式的使用示例 3.1 简单工厂的结构和说明 3.2 简单工厂代码实现 四 简单工厂模式的思考 一 什么是简单工厂模式 客户端不主动创建接口对象,而是由工厂来创建接口对象,将客户端和实现解耦的一种设计模式。 二 什么场景适合使用简单工厂模式 完全封装隔离具体实现,让外部只能通过接口来操作封...原创 2019-09-30 23:38:01 · 328 阅读 · 0 评论 -
03-抽象工厂模式
目录 一 什么是抽象工厂模式 二 什么场景适合使用抽象工厂模式 三 抽象工厂模式的使用示例 3.1 抽象工厂的结构和说明 3.2 抽象工厂代码实现 四 抽象工厂模式的思考 4.1 抽象工厂的优点 4.2 抽象工厂的缺点 4.3 抽象工厂模式和简单工厂模式的对比 4.4 抽象工厂模式和单例模式的联系 一 什么是抽象工厂模式 提供一个创建一系列相关或相互依赖...原创 2019-10-09 08:59:25 · 330 阅读 · 0 评论