手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
程序员
设计模式的学习总结
设计模式的学习总结
作者:
小鱼号的代码日记
| 来源:发表于
2020-09-15 00:01 被阅读0次
设计模式的核心思想:
(1)找出应用中可能需要的变化之处,把他们独立出来,不要和那些不需要变化的代码混在
(2)针对接口编程,而不是针对实现编程。
(3)为了交互对象之间的松耦合设计而努力。
设计模式的目的:
让程序具有:
(1)代码重用性(相同代码不用重复编写)
(2)可读性(编程规范性,便于其他程序员的阅读和理解)
(3)可扩展性(当需要增加新的功能时,非常方便)
(4)可靠性(增加新的功能之后,对原来的功能没有影响)
(5)高内聚低耦合
设计模式七大原则
(1)单一职责原则
(2)接口隔离原则
(3)依赖倒置原则
(4)里氏替换原则
(5)开闭原则
(6)迪米特法则
(7)合成复用原则
单一职责原则
1) 降低类的复杂度,一个类只负责一项职责。
2) 提高类的可读性,可维护性
3) 降低变更引起的风险
4) 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则
接口隔离原则
客户端不应该依赖它不需要的接 口,即一个类对另一个类的依赖 应该建立在最小的接口上
依赖倒置原则
1) 高层模块不应该依赖低层模块,二者都应该依赖其抽象
2) 抽象不应该依赖细节,细节应该依赖抽象
3) 依赖倒转(倒置)的中心思想是面向接口编程
4) 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类
5) 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成
里氏替换原则
(1)所有引用基类的地方必须能透明地使用其子类的对象,在子类中尽量不要重写父类的方法
(2)里氏替换原则告诉我们,继承实际上让两个类耦合性增强了,在适当的情况下,可以通过聚合,组合,依赖 来解决问题
开闭原则
软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
迪米特法则
即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public 方法,不对外泄露任何信息
迪米特法则还有个更简单的定义:只与直接的朋友通信
直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方法参数,方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接的朋友。也就是说,陌生的类最好不要以局部变量的形式出现在类的内部
迪米特法则的核心是降低类之间的耦合
合成复用原则
原则是尽量使用合成/聚合的方式,而不是使用继承
类关系:
依赖关系
只要在类种用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都无法通过。
泛化关系
如果类A继承了类B我们就说A和B存在继承关系
关联关系
依赖关系的特例
具有导航性 双向关系单向关系
聚合关系
关联关系的特例表示整体和部分之间的关系具有导航性,多重性。
组合关系
整体与部分不可分离
设计模式类型
设计模式分为三种类型,共23种
1) 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。
2) 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
3) 行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)。
相关文章
网友评论
程序员
本文标题:
设计模式的学习总结
本文链接:
https://www.haomeiwen.com/subject/zqcxyktx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
程序员
摄影
故事
互联网
读书
旅行
热点阅读
2020-09-14
不管境遇如何都要对自己好一点
触底反弹
日复盘 2020.9.14复盘 | 话不多的一天
关于见识
【笔记打卡】2020-09-14
【小散看盘】冲高又回落,没搞头。
干就完了
慢性子
GLSL 计算光照
程序员
开源 BI 工具 Metabase 简介
对象和引用
Python中list的实现
iOS 开发入门
领域驱动设计DDD和CQRS落地
字符编码的奥秘
传统 Ajax 已死,Fetch 永生
nodejs中异步
Web 服务器性能与站点访问性能优化思路
mysql & mongo aggregate
网友评论