设计模式
文章平均质量分 68
以小故事的形式,学习每一种设计模式,也了解设计模式的优缺点以及适用场景。学会使用设计模式,可以让我们编写的代码更优,可以提高我们的设计能力
慕沐.
这个作者很懒,什么都没留下…
展开
-
封装 继承 多态
面向对象的三大特征:封装、继承、多态。1、封装概念:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装。 对象不必依赖其他对象来完成自己的操作。优点: 良好的封装能够减少耦合 类内部的实现可以自由地修改 类具有清晰的对外接口 2、继承概念:对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为B是A,则表明B可以继承A。特点:如果子类继承父类, 第一,子类拥有父类非priv原创 2018-01-07 09:25:01 · 528 阅读 · 20 评论 -
创建型模式
入情 现在人们的生活几乎离不开了手机,出门在外,有时就算不带钱,也照样可以走的很远,只要带着手机。手机的类别、款式和品牌越来越多,下面就让我用各种手机来描述设计模式中的创建性模式吧! 入境 创建型模式有以下五个模式: 1. 工厂方法模式 我们现在接触的手机有很多,如华为、小米和魅族。当然,小米手机是小米厂商生产的,华为手机是华为厂商生产的,魅族手机是魅族厂商生产的。手机生产商是工厂,手机原创 2018-01-14 16:03:17 · 441 阅读 · 22 评论 -
结构型模式
入情 接着上次创建型模式,还是以手机为例来描述设计模式中的结构性模式。 入境 1. 适配器模式 充电宝有华为的,有小米的,也有魅族的,可是不管我们手中的手机是什么牌子的,只要有那根线,就可以用各种的充电宝。那根线就像适配器。(似乎并不太合理) 2. 装饰模式 我们的手机,好多人都会选择买个手机壳,还有钢化膜,以此来保护手机,也可能是为了美观。所以手机壳既没有改变手机的用途和原创 2018-01-28 16:02:32 · 386 阅读 · 52 评论 -
行为型模式(一)
入情 前俩次已经学习了创建型模式和结构型模式,接下来就学习下行为型模式吧,还是用关于手机的小故事,希望大家喜欢。 入境 1. 观察者模式 生活中,我们的手机经常会用到手机壳吧。制造某一款手机壳就是要根据手机的样式来设计,可以设计出好多手机壳。在这里,手机壳就相当于观察者,手机就相当于观察目标。 2. 模板方法模式 厂家生产每款手机应该会有一个特定的步骤,比如设计—>资源开发原创 2018-01-31 11:32:25 · 272 阅读 · 14 评论 -
行为型模式(二)
入情 上次描述了一部分关于行为型模式中的模式,接下来就还是以手机的故事,将行为型模式中剩下的描述完吧。 入境 1. 解释器模式 手机中的功能有很多,我们可以开关机,可以玩游戏,可以播放音乐,但是所以繁琐的东西都可以简化,就像手机中这些操作最终只是转换为一串0和1,也就是二进制的形式,然后进行运行。 2. 中介者模式 以前的手机是不能多个应用同时打开的,比如如果你打开了音乐,原创 2018-02-01 11:24:11 · 258 阅读 · 18 评论 -
设计模式之优缺点(一)
前言什么东西,什么事物都是有正反两面的,设计模式也不例外,也是既有优点,又有缺点,当然也有该用它的场合。正文1. 工厂方法模式优点:使用工厂方法模式,创建客户所需产品,用户只需关心产品对应的工厂,其他都不用知道。添加新产品时,只需添加一个具体工厂和一个具体产品即可。 缺点:添加新产品时,需要同时添加具体工厂和具体产品,所以系统中类的个数是成对增加,增加了系统的复杂度。 适用场景:客户端不知道它所原创 2018-02-05 17:26:08 · 7216 阅读 · 21 评论 -
设计模式之优缺点(二)
前言上篇博客描述的是创建型模式和结构型模式中的模式的优缺点及适用场景,接下来就再学习一下行为型模式中模式的优缺点和适用场景吧。正文1. 观察者模式优点:松耦合,使各自的变化不会影响另一边的变化 缺点:不能让以封装的观察者实现特定接口 适用场景:一个对象改变需要同时改变其他对象,而且不知道具体有多少对象有待改变2. 模板方法模式优点:代码复用,去除子类的重复代码,使子类摆脱重复的不变行为的纠缠原创 2018-02-06 09:37:01 · 1512 阅读 · 21 评论 -
设计模式总结
不足学习的内容总是有些遗漏,总会有些学的不够全面内容1. 构造函数构造函数是在创建给定类型的对象时执行的类方法 构造函数具有与类相同的名称 构造函数通常初始化新对象的数据成员 构造函数是用来产生实例的2. 设计模式的原则(1)单一职责原则:就一个类而言,应该仅有一个引起它变化的原因 (2)开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展,但是不可修改 (3)依赖倒转原则:原创 2018-02-20 20:42:05 · 238 阅读 · 36 评论