设计模式汇总——待完善

设计模式概述

面向对象(Object Oriented Programming)

面向对象语言三大特性:继承、封装、多态
Java语言:抽象(Abstact)、接口(Interface)、static、final
面向对象设计原则
优先使用对象组合,而不是类继承。

UML类图

流程图

单一职责原则

开闭原则

里氏替换原则

定义:所有引用基类的地方必须能透明的使用其子类对象

依赖倒置原则

  1. 高层模块不应该依赖底层模块,两者都应该依赖其抽象
  2. 抽象吧应该依赖细节
  3. 细节不应该依赖抽象

接口隔离原则

定义:客户端不应该依赖它不需要的接口

迪米特原则

定义:一个对象对其他对象有最少的了解

创建模式、结构模式、行为模式
MVP、MVC、MVVM概述
Presenter主要的作用是沟通View和Model的桥梁,它从Moidel层检索数据后,返回给View层,使得View和Model之间没有耦合,也将业务逻辑从View角色上抽离出来

设计模式分类

23种设计模式分为三大类

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

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

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

模式分类
创建型工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式
行为型策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

类与类,类与接口之间的关系
is-a 继承
has-a 聚合 一个类包含另一个类 对象类A包含对象类B
use-a 依赖 一个类拥有另一个类 一个类的方法操作另一个类的对象
一个类创建另一个类

继承关系关系用空心三角+实线表示
UML继承关系

实现关系接口用空心三角+虚线表示
UML实现
关联关系用实线箭头表示

是一种拥有关系,它使一个类知道另一个类的属性和方法。
UML关联关系

Class Penguin extends Bird {
    private Climate climate;
}

聚合关系用空心菱形+实线箭头表示

表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。是整体和部分的关系,且部分可以离开整体单独存在。
UML聚合关系

Class WideGooseAggregate {
    private WideGoose[] arrayWideGoose;
}

组合关系用实心菱形+实线箭头表示

表示一种强的‘拥有关系’,体现了严格的部分和整体的关系,部分和整体的生命周期一样。是整体和部分的关系,但部分不能离开整体而单独存在。
UML组合关系

Class Brid {
    private Wing wing;
    public Brid(){
    	wing = new Wing();
    }
}

依赖关系用虚线箭头表示

是一种使用关系,及一个类的实现需要另一个的协助。
UML依赖关系

class Animal {
    public Metabolism(Oxygen oxygen , Water water) {
    	
    }
}

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值