- 博客(13)
- 收藏
- 关注
原创 设计模式-观察者模式
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动跟新自己 这个模式中主要涉及两个对象: subject:负责在自身的状态发生变化的时候通知所持有的观察者。 observer:在对subject观察的过程中,及时应对subject所产生的变化,并于subject的状态保持一致
2017-11-29 00:10:34 128
原创 设计模式-模板方法模式
模板方法模式:定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得一个子类可以在不改变一个算法的结构即可重新定义算法中的某些特定的结构。
2017-11-20 23:51:37 166
原创 设计模式-工厂方法模式
上一篇文章中我复习了代理模式,这篇文章我来回顾工厂方法模式。 工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法是一个类的实例化延迟到其子类。 提到了工厂模式,让我想起了之前提到过的简单工厂模式。二者都是通过将一个类的实例化托管给一个工厂来延迟复杂的类实例化。以此来将类的实例化过程隔离开来,减少调用者和被调用者之间的耦合度。二者的差异在于选择逻辑的存放位置,简单工厂
2017-11-16 23:02:25 144
原创 设计模式-简单工厂模式
在我的前几篇博客中我回顾了下面向对象的特性和4个设计模式法则,今天我来回顾设计模式的第一课:简单工厂模式。 简单工厂模式:由一个统一的工厂类根据需求种类来生产相同类型的不同实现的产品类。
2017-11-09 23:16:07 203
原创 设计原则-迪米特法则
在前几篇我分析了单一职责,开放封闭以及依赖倒转的设计法则。今天我将在这篇文章中复习一下迪米特法则。 **重点内容**迪米特法则:两个类不必彼此之间通信,那这两个类就不应该有直接作用关系,应该通过第三方来建立通信。这样做是为了降低两个没有直接关联的类之间的耦合,增强类的可重用性和灵活性。以免再改动A类而导致关系不大的B类也跟着修改。但是在这种情况下,我们就需要一个第三方来帮我们为二者负责起通信的关系,
2017-11-07 22:46:37 211
原创 设计模式-依赖反转分析
上一篇文章中我复习了开放封闭原则,今天我来回顾下依赖倒转原则。依赖倒转原则:1.高层不依赖低层,高层和低层应依赖抽象。2.抽象不依赖细节。细节依赖抽象。 这一原则是基于现实中完成一件事情手段的多样性,过程的稳定性而提出来的,手段对应细节,过程对应抽象。 在java中抽象可以有接口和抽象类来表示,细节有继承和实现来完成。程序的整体流程应通过接口之间行为的交互来完流动,动作的具体实现则有子类和实现类来掌
2017-11-06 22:26:19 260
原创 设计模式-开放封闭原则
在上一篇文章中我回顾了下单一职责原则,在这篇文章中我来复习下开放-封闭原则 开放封闭原则:开放扩展,关闭修改。当一个业务系统稳定了,当有新增的业务的时候采用增加类的方式来拓展,替代直接对原有业务类的修改。可以利用面向对象继承和多态这两个特性来实现。对业务逻辑进行抽象,将具体业务的实现发放到子类中,这样当业务逻辑发生变化的时候我们就可以通过新增子类的方式来实现业务扩展。 例如:计算器有加,
2017-11-04 22:29:40 156
原创 设计模式-设计原则-单一职责
在上一篇文章中我就面向对象语言的三大特性进行阐述 这篇文章主要是来分析设计模式中的四大基本准则: 1. 单一职责 2. 开放-封闭 3. 迪米特法则 4. 依赖倒转单一职责:对于一个类来说,不应该存在多个导致类发生变化的因素。简单的来说,一个类负责一个功能。例如 面包店A 负责销售面包,由于早餐需要新增豆浆和粥,将面包店的职责细粒度化为销售面包和粥,这可能会导致师傅的工作量激
2017-11-02 22:00:25 165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人