丑陋的模样 public void sendApple() {Apple apple new Apple();// 洗苹果 切苹果apple.wash();apple.cut();// 使用苹果:苹果送人sendPeople(apple);}public void eatApple() {Apple apple new Apple();// 洗苹果 切苹果apple.wash();apple.cut();// 使用苹果&…
1.测试类 Testpublic void test7() {/*** 使用设计模式前*///模拟入参String name "?";if("张三".equals(name)){System.out.println("按照张三的策略执行的任务!");}else if ("李四".equals(name)){System.out.println("按照李…
一、简单工厂
1.1 概述
背景: 代码中存在根据不同条件创建不同对象的场景。例如:
if ("json".equals(name)) {return new JsonConfigParser();
} else if ("xml".equals(name)) {return new XmlConfigParser();
} else if ("…
简单工厂模式 创建一个工厂类,对实现了同一个接口的多个类进行实例的创建。
//抽象类 人
public abstract class HuMan
{public abstract void Talk();
}
//黑人实现类
public class BlackHuman : HuMan
{public override void Talk(){Console.WriteLine("I a…
一、创建型模式
创建对象的方式
1、单例模式----private static new
(1)饿汉模式【线程安全】 类加载时直接创建----直接return new的对象
public class SingleTon{private static SingleTon INSTANCE new SingleTon();private SingleTon(){}
//直接…
我们以生产手机作为应用场景展开讲解!
手机是一个抽象的概念,它包含很多的品牌,例如华为,苹果,小米等等,因此我们可将其抽象为一个接口,如下所示:
public interface tel {void pro…
go 语言没有构造函数一说,所以一般会定义NewXXX函数来初始化相关类。 NewXXX 函数返回接口时就是简单工厂模式,也就是说Golang的一般推荐做法就是简单工厂。
代码实现
package simplefactoryimport "fmt"//API is interface
type API interf…