博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的开发范式
阅读量:6764 次
发布时间:2019-06-26

本文共 893 字,大约阅读时间需要 2 分钟。

面向对象的最大好处就是封装,让我们回顾一下这些设计模式都封装了哪些方面。

        创建型模式封装了实例化的过程,客户对象不再关心这些创建的细节:

        应该使用哪个具体类,如何初始化和组装实例。

创建型模式   这样,也为实例化提供了很大的灵活性:

        可以使用克隆的方式加快其创建过程和简化创建细节,也可以根据配置确定

        实例化的具体类型,还可以根据需要创建单例对象。

 

            封装了那些不变的算法步骤,把变化那些分交给子类

模板方法模式    去封装,对使用者隐藏了具体的子类型。

 

        装饰器模式隐藏了被装饰对象;

        并且,由于装饰对象和被装饰的对象具有相同的接口,

装饰器模式     客户对象在使用被装饰过的对象和未装饰过的对象时,

        不需要对它们区别对待,隐藏了装饰器类型。

 

        和装饰器模式一样,隐藏了被代理对象(目标对象),

代理模式    也实现了代理类型的隐藏。

 

        隐藏了被适配的接口/类,客户对象并不知道请求会

适配器模式   转发给被适配的对象。

 

外观模式    隐藏了子系统,封装了外观和子系统之间的复杂交互。

 

        实现了叶子类和分支子类的隐藏,客户对象操作叶子对象

组合模式    和分支对象时不需要区别对待。

 

策略模式    每一个具体策略都封装了一个具体的实现算法。

 

状态模式    每一个状态都封装了与一个特定状态相关的行为,

        Context隐藏了状态接口和实现,

        客户对象不知道它们的存在。

 

        不同的观察者对变化的处理是不同的,

        把这些变化封装在不同类型的观察者类型里,

观察者模式   由于它们有相同的接口,观察者就能独立于主题而变化。

        另外如果为主题也抽象了接口,

        这样观察者和主题两方面就能独立变化与重用,而不会影响对方。

转载于:https://www.cnblogs.com/tiantian515/p/7204337.html

你可能感兴趣的文章
docker基础
查看>>
MongoDB的安装与python操作MongoDB
查看>>
CF:The Fault in Our Cubes(DFS)
查看>>
[导入]WAP技术与网站建立
查看>>
STM32F4的sct文件理解
查看>>
6、消息发布和订阅功能
查看>>
P4233 射命丸文的笔记
查看>>
剑指offer-合并两个排序的链表
查看>>
SQLBulkCopy使用实例--读取Excel写入数据库/将 Excel 文件转成 DataTable
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis (五)路由网关(zuul)
查看>>
详解 MySQL 5.7 新的权限与安全问题
查看>>
大型网站技术架构(六)网站的伸缩性架构
查看>>
LA 3644 X-Plosives
查看>>
mysql8.0+修改用户密码
查看>>
android应用的响应性设计
查看>>
IOS设计模式浅析之单例模式(Singleton)
查看>>
Nosql数据库分类
查看>>
移动短信网关返回信息状态代码说明
查看>>
fis学习
查看>>
1250 Fibonacci数列
查看>>