设计模式个人赏识

单例模式:

定义:保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

特点:持久性单一对象。

实现:赋值给静态的对象。

备注:类的反射,等方法可以破解。

 

工厂模式:

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类

特点:解耦逻辑清晰。

实现:同一个接口

 

建造者模式:

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

特点:封装性好,适用于数据相同率比较高的创建模式中。

实现:导演类通过输入少量参数调用建造者类生产产品类对象。

 

 

原型模型:

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象

特点:效率高。

实现:通过实体类实现CloneAble接口,编写方法调用接口中clone方法,通过字节码复制实现。

备注:深拷贝与浅拷贝问题中,会发生深拷贝的有java中的8中基本类型以及他们的封装类型,另外还有String类型。其余的都是浅拷贝

 

适配器模型:

定义:适配器模式是作为两个不兼容的接口之间的桥梁

特点:类的复用,灵活。

实现:在多个调用类与多个实现类之间作为一个关联关系。

 

 

桥接模型:

定义:桥接是用于把抽象化与实现化解耦,使得二者可以独立变化

特点:将抽象部分与实现部分分离,使它们都可以独立的变化

实现:运行时绑定实体,通过接口调用接口。

 

过滤器模式:

定义:这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来

特点:高可用,低耦合,可任意重复调用,最后的结果一样。

实现:设立筛选条件。

 

组合模型:

定义:将对象组合成树形结构以表示"部分-整体"的层次结构

特点:内部结构解耦将复杂的单个元素转换成多个简单元素。

实现:根据关联关系分离,然后组合。

装饰模型:

定义:它是作为现有的类的一个包装

特点:向一个现有的对象添加新的功能,同时又不改变其结构

实现:可代替继承。

 

 

外观模型:

定义:外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口

特点:高封装。

实现:对接口进行封装。

 

亨元模型:

定义:运用共享技术有效地支持大量细粒度的对象。

特点:对象重用。

实现:在对象地址不变的情况下,改变对象内容。

 

 

代理模式:

定义:一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。

特点:访问限制。

实现:重载。

 

责任链模式:

定义:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求

特点:将低耦合

实现:子类与子类之间通过属性耦合,通过父类同一方法访问不同类对象。

 

命令模式:

定义:请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

特点:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系

实现:封装请求类,通过调用任务类存储请求,执行请求对实体操作。

 

解释器模型:

定义:提供了评估语言的语法或表达式的方式,

特点:扩展性好。

实现:根据文法构建环境类进行类与类之间的关系处理。

 

迭代器模型:

定义:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。

特点:遍历一个聚合对象

 

 

 

中介者模式

定义:是用来降低多个对象和类之间的通信复杂性

特点:降低类的复杂度,解耦合

实现:封装类类之间的交互。

 

 

观察者模式:

定义:义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

特点:高耦合

实现:改变一个对象,其他对象也跟着改变。

 

状态模式:

定义:许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。

特点:代替条件,分支语句

实现:状态包含行为,改变状态,就是改变对象。

 

 

策略模式

定义:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换

特点:类多,扩展性好。

实现:封装策列类。

 

 

模板模式

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

特点:重用父类的方法。

实现:方法绑定。

 

 

访问者模式:

定义:主要将数据结构与数据操作分离。

特点:扩展,单一职责。

实现:通过被访问者调用访问者,确定被访问者。

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值