zoukankan      html  css  js  c++  java
  • java设计模式

    总体来说设计模式分为三大类:

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    工厂模式

    1、工厂方法模式

    是我们最常用的实例化对象模式了,是用工厂方法代替new操作

    public class Factory{
    
        public static ISample creator(int which){
    
            if (which==1)
                return new SampleA();
            else if (which==2)
                return new SampleB();
        }
    }

     创建实例:

    iSample sampleA=Factory.creator(1);

    2、抽象工厂模式

    这两个模式区别在于需要创建对象的复杂程度上。如果我们创建对象的方法变得复杂了,就用抽象工厂

    就将上例中Factory变成抽象类,将共同部分封装在抽象类中,不同部分使用子类实现

    public abstract class Factory{
        public abstract Sample creator();
        public abstract Sample2 creator(String name);
    }
    public class SimpleFactory extends Factory{
        public Sample creator(){
            .........
            return new SampleA
        }
        public Sample2 creator(String name){
            .........
            return new Sample2A
        }
    }
     
    public class BombFactory extends Factory{
        public Sample creator(){
            ......
            return new SampleB
        }
        public Sample2 creator(String name){
            ......
            return new Sample2B
        }
    }

    模板模式

    定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。

    Java的抽象类本来就是模板模式

    优点:

    模板方法模式通过把不变的行为搬移到父类,去除了子类中的重复代码。
    子类实现算法的某些细节,有助于算法的扩展。
  • 相关阅读:
    非易失性Flash详解
    易失性存储器SRAM基础知识
    嵌入式STT-MRAM效应与流致反转
    访问SDRAM的低功耗优化设计方案
    SRAM的容量扩展
    SDRAM功耗来源
    如何使FRAM MCU速度更快所需功耗最低
    Nand Flash结构及错误机制
    提升SRAM性能的传统方法
    word在一个文档中使用多个页码,页眉
  • 原文地址:https://www.cnblogs.com/stellar/p/5267305.html
Copyright © 2011-2022 走看看