简单工厂模式demo
1. 简单工厂模式
domain的接口
public interface Color{
    public void display();
}
red
public Class Red implements Color{
    @Override
    public void display(){
       "我是红色";
    }
}
blue
public Class Blue implements Color{
    @Override
    public void display(){
       "我是蓝色";
    }
}
颜色工厂
public class SampleFactory {
    public static Color makeColor(String type){
        if("Red".equals(type)){
            Color color= new Red();
            return color;
        }else if("Blue".equals(type)){
            Color color= new Red();
            return color;
        }else{
            return null;
        }
    }
}
简单工厂模式demo的更多相关文章
- Android设计模式(五岁以下儿童)--简单工厂模式
		1.面试的时候问这个问题: 在ListView 的item小程序.很多不同的显示风格.或者是,为了更好地维护,不同的样式,应该怎么做? 我一下就想到的是工厂的模式,利用project,编写ViewFa ... 
- Java 设计模式01 -  简单工厂模式
		先要学习设计模式之前的先看看一些基础 UML类图简单说明 可以先看看我的这篇博客: UML类图简单说明,学习编程思路的必会技能 接下来才是重点,开始我们的旅程吧. 一.UML类图展示 我们要用简单工厂 ... 
- Java设计模式(1)——简单工厂模式
		简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式.通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 一.模式中包含的角色及其职责 1.工厂(Creator)角色 简单 ... 
- 【Spring源码解析】—— 简单工厂模式的BeanFactory的超简版实现
		一.什么是简单工厂模式 设计模式的核心是“分工”,通过分工将对象与职责划分的更细化,进而提升系统设计的可扩展性,使其更容易维护. 开闭原则:对扩展开放,对修改关闭:要增加一个新的处理逻辑,可以开一个新 ... 
- iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
		1. 简单工厂模式 怎样理解简单工厂,工厂方法. 抽象工厂三种设计模式? 简单工厂的生活场景.卖早点的小摊贩.他给你提供包子,馒头,地沟油烙的煎饼等,小贩是一个工厂.它生产包子,馒头,地沟油烙的煎饼. ... 
- 设计模式之简单工厂模式(Simple Factory Pattern)
		一.简单工厂模式的由来 所有设计模式都是为解决某类问题而产生的,那么简单工厂模式是为解决什么问题呢?我们假设有以下业务场景: 在一个学生选课系统中,文科生用户选课时,我们要获得文科生的所有课程列表:理 ... 
- 工厂模式之简单工厂模式,head first设计模式
		简单设计模式比较简单,15分钟的时间,跟着我做,十几分钟学会简单设计模式,开始吧: 1.使用new实例化一个对象时,你肯定知道这种代码缺少弹性,绑定着具体的类会导致代码更加脆弱,简单工厂模式就是针对接 ... 
- PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)
		最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ... 
- C#设计模式之简单工厂模式(Simple Factory)
		1. 概述 简单工厂模式就是将一个类的实例化交给一个静态工厂来执行. 2. 使用频率 中 3. 模式结构 3.1 机构图 3.2 模式中的角色 Product:抽象类,把具体产品类公共的代码进行抽象和 ... 
随机推荐
- Oracle数据安全解决方案(1)——透明数据加密TDE
			Oracle数据安全解决方案(1)——透明数据加密TDE2009年09月23日 22:49:00 华仔爱技术 阅读数:7991原文地址: http://www.oracle.com/technolog ... 
- vue 部署404
			https://www.cnblogs.com/kevingrace/p/6126762.html 在nginx部署https://www.jianshu.com/p/7017143e3f7a 在ap ... 
- vuex 收藏一个循序渐进,易懂易行的博客。
			https://www.jianshu.com/p/133d329c3702 记录-- 
- 2019年春季学期第三周作业 ----PTA作业
			题目 判断上三角矩阵 上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T ... 
- neutron--ml2 plugin
			ml2 plugin 对 plugin 的功能进行抽象和封装,有 ml2 plugin ,各种 network 无需开发自己的 plugin,只需开发 ml2 plugin 相对应的 driver , ... 
- Runtime个别API的使用
			Runtime 关于属性部分API的说明以及使用方法 使用Runtime机制需要引入头文件: #import <objc/runtime.h> 1: Ivar *class_copyIv ... 
- 末学者笔记--NTP服务和DNS服务
			NTP时间服务器 一.概念: 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 二 ... 
- C++中的const总结
			CONST 一.符号常量 声明: const 类型说明符 常量名 = 常量值: const float PI = 3.1415927; //可以交换const与float的位置 符号常量在声明时一定要 ... 
- .net Core+Dapper MySQL增删改查
			新建一个用户表,以该有为例 1.Model层 public class TuiUsers { public int id { get; set; } public string userName { ... 
- keras安装-【老鱼学keras】
			为何要用keras? 两个字:简单. Keras让深度学习像搭建积木一样方便地来进行,使前面的tensorflow能够更加方便地使用. 虽然还有其它更多的理由,比如:Keras 支持多个后端引擎,不会 ... 
