目前做网站,wordpress建站,ui设计的流程有哪些步骤,秦皇岛微信公众号1、单例模式
核心#xff1a;保证一个类只有一个对象#xff0c;并且提供一个访问该实例的全局访问点
五种单例模式#xff1a;主要#xff1a;饿汉式#xff1a;线程安全#xff0c;调用效率高#xff0c;不能延时加载懒汉式#xff1a;线程安全#xff0c;调用效率…1、单例模式
核心保证一个类只有一个对象并且提供一个访问该实例的全局访问点
五种单例模式主要饿汉式线程安全调用效率高不能延时加载懒汉式线程安全调用效率低可以延时加载其它枚举单例线程安全调用效率高不能延时加载可以天然防止反射和反序列化漏洞静态内部类式线程安全调用效率低可以延时加载双重检索式
如何选择占用资源少且不需要延时加载枚举饿汉占用资源多且需要延时加载静态内部懒汉2、工厂模式
创建者与调用者分离
核心实例化对象甩工厂方法代替new操作
简单工厂模式常用不完全满足OPC原则
工厂方法模式
抽象工厂模式 3、建造者模式
Builder构造 Director 装配4、原型模式
实现Cloneable中来自object中的clone方法Object objObjectSuper.clone;return obj;
深克隆Sheep s(Sheep) obj;s.birthday(Date)this.birthday.clone();
或者通过序列化和反序列化实现深复制5、适配器模式adapter 6、代理模式proxy pattern
AOP(Aspect Oriented Programming)面向切面编程其核心就是代理模式
核心角色抽象角色客户定义代理角色和真实角色的公共对外方法^ ^代理角色实现抽象角色 - 真实角色实现抽象角色7、静态代理模式客户-经纪人-演员 8、动态代理模式 9、桥接模式
将多个维度的东西比如电脑品牌与电脑类型分别来表示然后通过参数形式将二者结合起来。
适用的场景处理多层继承结构、处理多维度变化的场景、将各个维度设计成独立的继承结构使各个维度可以独立的扩展在抽象层建立关系。10、组合模式component
把部分与整体的关系用树形结构来表示从而使客户端可以使用统一的方式处理部分对象和整体对象。11、装饰模式decorator 动态的为一个对象增加新的功能 12、外观模式 迪米特法则封装 一个软件实体应当尽可能少的与其他实体发生相互作用。 13、享元模式Fly weight
如果有多个完全相同或者相似的对象我们可以通过享元模式节省内存。
享元对象能够做到共享的关键是区分了内部状态和外部状态。
内部状态可以共享不会随着环境变化而改变
外部状态不可以共享会随着环境变化而改变14、责任链模式chain of responsibility
将能够处理同一类请求的对象连成一条链请求沿着链传递如果能够处理就处理处理不了就向后传递。15、迭代器模式iterator
提供一种可以遍历聚合对象的方式
聚合对象存储数据
迭代器遍历数据16、中介者模式mediator
17、命令模式commend
将一个请求封装成对象从而我们可以使用不同的请求对客户进行参数化。18、策略模式strategy 19、模板方法模式Template method
定义好模板核心内容用到再实现模板中定义为抽象方法20、状态模式state
不同状态对应不同行为用于解决系统中复杂对象的状态转换以及不同状态下行为的封装。21、观察者模式observe
广播1:N的通知当目标对象的状态发生改变时他需要及时告知一系列观察者对象令他们做出响应。
JAVASE提供了java.util.observable类和java.util.observer接口来实现观察者模式。22、备忘录模式memento
保存某个对象内部状态的拷贝以后就可以将该对象恢复到原先的状态。
源发器类包括备份数据与恢复数据两种方法
备忘录类通过构造器的方法来进行数据备份
负责人类负责管理备忘录提供备忘录的get/set方法