随笔分类 - 设计模式
摘要:代理类的诞生背景? 在实际开发中会经常会遇见这样的一种情况: 原有类具有一些功能,但其具有的功能又不能满足我们的需求。在此情况下,我们可以对 原有类 进行增强处理。但是必须遵循《设计原则》中“开闭原则”的相关规定 —— “对扩展开放,修改关闭”。 那么如何在不改变原有类的前提下,对原有类功能进行增强
阅读全文
摘要:模板方法模式: 1. 购物 (抽象类) 1 package com.monkey1024.service; 2 3 public abstract class Shopping { 4 5 // 模板方法 6 public void buyGoods() { 7 userLogin(); 8 buy
阅读全文
摘要:先看一个案例: 1.1 厨师主业务接口 1 package com.monkey1024.worker; 2 3 // 厨师主业务接口 4 public interface ICooker { 5 6 // 烹饪 7 String cookeing(); 8 9 } 1.2.程序员主业务接口 1 p
阅读全文
摘要:1、概述 简单工厂模式 又叫静态工厂方法模式,它定义一个具体的工厂类来负责创建一些类的实例。 如:Dog类对象,不再在程序中使用new Dog()的方式来创建了。而是先定义一个DogFactory类,在该类中有负责创建Dog的代码,且对外提供一个获取Dog实例的静态方法。我们在客户端程序中要使用到D
阅读全文
摘要:1、 概述工厂方法模式中 抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 2、 优缺点 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责; 如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可, 不影响已有的代码,后期维护容易,增强了系统的扩展性
阅读全文
摘要:1、 概 念 目的:确保类在内存中只有一个对象 该实例必须自动创建,且对外提供 开发中 使用推荐使用 饿汉式 笔试中 考察比较多的是 懒汉式 ,如果没有特殊规定 建议 饿汉式。 原因: 2、代 码 2.1 饿汉式 Student.java package com.monkey1026; public
阅读全文