面向接口编程之制定标准和简单工厂模式

制定一个标准,让别人去实现或者说满足它!

interface USB{//定义USB标准void useUSB();//USB有使用USB的行为
}

简单工厂模式
构建一个工厂出来,在里面进行生产,用的时候直接拿

我的总结:
好处:屏蔽不同子类实现的差异,提高代码的可拓展性和可维护性;

package reviewDemo;
//简单工厂模式interface Phone{//制定标准,都要实现send()方法public void send();
}class Iphone implements Phone{@Overridepublic void send() {System.out.println("Iphone手机在发短信");}
}class AndroidPhone implements Phone{@Overridepublic void send() {System.out.println("AndroidPhone手机在发短信");}
}class MyPhone implements Phone{@Overridepublic void send() {System.out.println("MyPhone手机在发短信");}
}
class Factory{public static void show(String type){//传入参数,根据不同的类型个性化定制if(type.equals("")){//为空的情况,不用往下执行System.out.println("对不起,类型为空!,请重新输入!");return;}Phone p = null;if("Iphone".equals(type)){//判断类型p = new Iphone();}else if("AndroidPhone".equals(type)){p = new AndroidPhone();}else{p = new MyPhone();}p.send();}
}public class FactoryDemo17 {public static void main(String[] args) {new Factory().show("Iphone");//调用方法new Factory().show("AndroidPhone");new Factory().show("MyPhone");new Factory().show("YourPhone");new Factory().show("");}
}
输出:
Iphone手机在发短信
AndroidPhone手机在发短信
MyPhone手机在发短信
MyPhone手机在发短信
对不起,类型为空!

14、面向接口编程之适配器模式
使用一个现成的类,但是它的接口不完全符合你的需求,我只想要它其中的一个方法,不想覆写其他的方法。

举一个 很简单的例子:比如,窗体有变大,变小,关闭的行为,但是我现在只需要关闭行为;

package reviewDemo;
//适配器模式:只想用其中的某一个方法,用适配器作为中间的过渡

interface Windows{void max();void min();void close();
}
//适配器模式,实现接口所有的方法,但是不写方法体!class AdapterWindows implements Windows{@Overridepublic void max() {}@Overridepublic void min() {}@Overridepublic void close() {}}
class MyWindows extends AdapterWindows{//覆写父类的方法public void close(){System.out.println("这个实现的是关闭功能!");}
}public class Demo17 {public static void main(String[] args) {new MyWindows().close();}
}

简单工厂模式和适配器模式相关推荐

  1. 设计模式(0)简单工厂模式

    0 设计模式基础 0.0 设计模式的定义 先来看一下设计模式常见的书面定义: 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他 ...

  2. 23种设计模式 -----Day01:简单工厂模式

    目录 前言 1.设计模式(Design pattern)定义 2.为什么要使用设计模式(使用设计模式的意义) 3.设计原则 a.单一职责原则 b.开放封闭原则 c.里氏代换原则 d.迪米特法则 e.依 ...

  3. Java设计模式之简单工厂模式(Simple Factory)

    [Java与模式]简单工厂模式(Simple Factory---吴义) 首先说明,Java与模式一系列的文章均是参考阎宏博士的<Java与模式>一书,加上自身的一些体会的探索,产生如下文 ...

  4. 设计模式 笔记4 | 简单工厂模式 在源码中的应用 | Calendar 日历 | 源码浅析 | 使用总结 | 建造者模式

    文章目录 一.Calendar 日历类 1.1 内部属性 1.2 设置时间属性值 1.3 获取时间属性 1.4 使用 Calander 计算时间 二.Calender 类中的设计模式 2.1 简单工厂 ...

  5. 简单工厂模式(Java、Python)、工厂方法模式(Java、Python)

    目录 一.试画出简单工厂模式的模式结构图,并对模式进行分析 1.1 简单工厂模式结构图: 1.2 简单工厂模式的实现(Java) 1.3 简单工厂模式的优缺点 1.4 简单工厂模式实现(Python) ...

  6. 【设计模式】之简单工厂模式详解与应用(一)

    开心一刻 [老公:老婆老婆,我刚去买了15块钱水果. 老婆:然后呢? 老公:给了老板100块,那二货找了我95.你说他二不二? 老公:我当时撒腿就跑啊. 老婆:水果呢? 老公:-忘拿了- 开心不,笑了 ...

  7. 设计模式之简单工厂模式

    一.概述 工厂模式具体包括了简单工厂.工厂方法.抽象工厂,它们是按照从简单到复杂的顺序排列的,属于设计模式中的创建型,其中简单工厂并不属于GOF的23中模式.   但是它是理解其它的工厂模式的一个很好 ...

  8. 设计模式 之美 -- 简单工厂模式

    文章目录 1. 解决问题 2. 应用场景 3. 实现 C++实现: C语言实现 4. 缺点 1. 解决问题 举例如下: 我们实现一个卖衣服的功能,衣服的种类有很多:帽子,裤子,T恤... 每卖一种衣服 ...

  9. 设计模式之简单工厂模式(Simply Factory)摘录

    从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种 ...

  10. Java中的简单工厂模式(转)

    Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...

最新文章

  1. 投影幕布jsp_投影 篇一:实测亲证百元投影幕布不如白墙
  2. “中文版GPT-3”来了:会算术、可续写红楼梦,用64张V100训练了3周
  3. Elasticsearch 7.0 已经发布,盘他!
  4. 重磅官宣:Nacos2.0性能提升10倍
  5. HDU-1016 Prime Ring Problem DFS
  6. PHP数组加表格_php数组输出html表格的操作方法
  7. HH SaaS电商系统的商品销售管理标签功能模块设计
  8. 【leetcode】二进制手表-经典或回溯题目
  9. HTML map 设置图热点
  10. 解决IE11安装时需要“获取更新”(IE11离线安装)
  11. python博弈论_通过几个例子理解博弈论与纳什均衡
  12. Overlay network
  13. java.awt.Color类
  14. 5个好用的Excel技巧,一秒钟完成一个功能
  15. 《数据解构》HashMap源码解读
  16. Java基于网易云信实现手机短信验证
  17. jQuery面试题答案
  18. Tkinter 1. 基本介绍
  19. jQuery-Ajax请求Json数据并加载在前端页面,附视频教程讲解!
  20. 单容水箱液位控制系统matlab演示,单容水箱液位控制系统设计详解.doc

热门文章

  1. Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
  2. LabVIEW哪些软件需要运行时许可
  3. 【转】纯干货:PS高手完全自学宝典(原创文章)
  4. Python爬虫马蜂窝结伴信息
  5. 【经验分享】U盘软刷映泰TB250-BTC刷魔改BIOS上6789代CPU,另解决开机转一下后停止问题
  6. 02333软件工程_202008_试卷+答案
  7. Web框架-SSM框架
  8. 基于wifi的温度采集与控制系统
  9. CS5532 C51驱动程序
  10. python高级篇----网络编程与爬虫