一、单例模式:即一个类由始至终只有一个实例。有两种实现方式
(1)定义一个类,它的构造方法是私有的,有一个私有的静态的该类的变量在初始化的时候就实例化,通过一个公有的静态的方法获取该对象。
Java代码
1. //单例模式的第一种形式
2. public class Singleton01 {
3.
4. // 私有的静态属性
5. private static Singleton01 instance = new Singleton01();
6.
7. // 私有的构造方法
8. private Singleton01() {
9. }
10.
11. // 公有的静态方法
12. public static Singleton01 getInstance() {
13. return instance;
14. }
15. }
(2)改进后的
Java代码
1. public class Singleton02 {
2.
3. // 私有的静态的类变量
4. private static Singleton02 instance = null;
5.
6. // 私有的构造方法
7. private Singleton02() {
8. }
9.
10. // 静态的公有的方法
11. public static Singleton02 getInstance() {
12. if (instance == null) {
13. instance = new Singleton02();
14. }
15. return instance;
16. }
17. }
二、工厂模式:生产不同对象的公共接口
(1) 产品接口
Java代码
1. //产品接口
2. public interface Product {
3.
4. }
(2)产品接口的实现类
Java代码
1. //洗衣机
2. public class Washer implements Product {
3.
4. public Washer(){
5. System.out.println("洗衣机被制造了!");
6. }
7. }
Java代码
1. //空调
2. public class AirCondition implements Product {
3.
4. public AirCondition(){
5. System.out.println("空调被制造!");
6. }
7. }
(3)工厂接口
Java代码
1. //工厂接口
2. public interface Factory {
3.
4. //生产产品
5. Product produce(String productName);
6.
7. }
(4)工厂的实现类
Java代码
1. //实现工厂
2. public class TestFactory implements Factory {
3.
4. //生产产品
5. public Product produce(String productName) {
6. if (productName.equals("Washer")) {
7. return new Washer();
8. }
9. if (productName.equals("AirCondition")) {
10. return new AirCondition();
11. }
12. return null;
13. }
14.
15. public static void main(String[] args) {
16. TestFactory testFactory = new TestFactory();
17. testFactory.produce("Washer");
18. testFactory.produce("AirCondition");
19. }
20. }
java23种设计模式——三、工厂模式
源码在我的github和gitee中获取 工厂模式 工厂模式介绍 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式.著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在J ...
PHP面向对象-设计模式 单例模式 简单工厂模式 工厂方法模式
1.单例模式 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例.即一个类只有一个对象实例. 要实现每一个类只有一个实例,就需 ...
【Unity与23种设计模式】抽象工厂模式(Abstract Factory)
GoF中定义: "提供一个能够建立整个类群组或有关联的对象,而不必指明它们的具体类." 意思就是 根据不同的执行环境产生不同的抽象类子类 抽象工厂模式经常在面试中会涉及到 下面的例 ...
两种设计模式(1)==>;>;“简单工厂”
我们以做一个计算器为例,给大家介绍简单工厂的应用: 效果: 这里我们使用 继承 ,虚方法, 简单工厂的设计模式来完成 首先,我们除了搭好窗体外,我们应该把我们的一些类准备好: 1.计算的父类Calcu ...
二十四种设计模式:抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory Pattern) 介绍提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 示例有Message和MessageModel,Messag ...
Spring主要用到两种设计模式
Spring主要用到两种设计模式 1.工厂模式 Spring容器就是实例化和管理全部Bean的工厂. 工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来. 调用者只关心被调用者必须满足的 ...
java23种设计模式——四、原型模式
源码在我的github和gitee中获取 目录 java23种设计模式-- 一.设计模式介绍 java23种设计模式-- 二.单例模式 java23种设计模式--三.工厂模式 java23种设计模式- ...
java23种设计模式——五、建造者模式
源码在我的github和gitee中获取 目录 java23种设计模式-- 一.设计模式介绍 java23种设计模式-- 二.单例模式 java23种设计模式--三.工厂模式 java23种设计模式- ...
java23种设计模式——七、桥接模式