设计模式

设计模式

1.设计思想:

1.1单一职责思想设计原则:

  • 每个类实现一种功能,引起改变的原因也只有一个。

1.2开闭原则

  • 对类改动通过增加代码,而不是修改代码(对类的改动通过增加代码进行,而不是修改代码)多借助抽象和多态。

1.3里氏替换原则

  • 任何父类出现的地方都应该可以用其子类替换。(同一个继承体系拥有共同的特征)

1.4依赖注入原则

  • 要依赖于抽象类,不要依赖于具体实现类

1.5接口分离原则

  • 一个接口提供一种功能(如将对某个类的增删改查分离为四个接口,每个接口实现一个功能)

1.6迪米特原则

  • 一个类应尽可能少的了解其他类(降低各个类之间的耦合)

2.设计模式

2.1设计模式的几个要素:

  • 名字 必须有一个简单,有意义的名字
  • 问题 描述在何时使用模式
  • 解决方案 描述设计的组成部分以及如何解决问题
  • 效果 描述模式的效果以及优缺点

2.2设计模式的分类

  • 创建型模式 对象的创建
    • 简单工厂模式

      例子:

      //父类:Animal (eat方法)
      //子类:Cat  Dog   (都覆盖eat方法)
      传统创建:
      Cat cat =new Cat();
      cat.eat();
      Dog dog=new Dog();
      dog.eat();
      //简单工厂模式:创建一个动物工厂(class   : AnimalFactory)
      public static  Animal createAnimal  (String type){
      	if("dog".equals(type)){
      		return new Dog();
      	}else if("cat".equals(type)){
      		return new Cat();
      	}else{
      		return null;
      	}
      }
      //利用工厂创建:
      Animal a=AnimalFactory.createAnimal("dog");//通过字符串方式传递给工厂进行创建,便于代码维护。
      a.eat();
      
    • 工厂方法模式
      例子:

      //在简单工厂模式上改进了,简单工厂模式每次增加一个动物都需要该原有的代码。
      //父类:Animal (eat方法)
      //子类:Cat  Dog   (都覆盖eat方法)
      //父工厂:Factory接口(abstract  createAnimal());
      //子工厂:DogFactory,CatFactory(实现Factory接口,覆盖createAnimal()方法)
      //测试:
      Factory f=new DagFactory();
      Animal a=f.createAnimal();
      a.eat();
      
      
    • 抽象工厂模式

    • 建造者模式

    • 原型模式

    • 单例模式。

  • 结构型模式 对象的组成(结构)
    • 外观模式
    • 适配器模式
    • 代理模式
    • 装饰模式
    • 桥接模式
    • 组合模式
    • 享元模式
  • 行为型模式 对象的行为
    • 模版方法模式
    • 观察者模式
    • 状态模式
    • 职责链模式
    • 命令模式
    • 访问者模式
    • 策略模式
    • 备忘录模式
    • 迭代器模式
    • 解释器模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值