美文网首页
对设计模式的总结(个人理解)

对设计模式的总结(个人理解)

作者: 鼾声鼾语 | 来源:发表于2020-04-24 11:21 被阅读0次

抽象类更注重,类和类之间的关系,和存在的约束。
接口更注重对类的行为约束,统一规则。

设计模式的定义:

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。

工厂模式总结:

大概流程:使用一个接口,不同实体类,实现相同的一个借口。在工厂类的某个get()方法中根据输入条件,选择创建某一个实体类。

我的问题:为什么是用接口去约束实体类,而不是使用抽象类?

我的答案:因为在工厂模式中,并不需要让实体类继承某个特定成员属性。而这里仅仅需要让实体类遵循某种规范(如重写相同的方法),并且实现同一个接口后,这些实体类都会具有一个继承后产生的特性即为传递性(子类继承父类后,父类可以作为子类的引用),这样在工厂类里,的某个工厂方法中实例这些实体类时候,返回参数即可都为接口名。

抽象工厂模式总结:

大概流程:在原有的工厂类上加了一个抽象工厂类。然后根据工厂生产器这个类对返回某个工厂类的工厂实例。在main()房中,通过工厂生产器获得相应工厂的工厂实例对象,在通过工厂实例对象进一步去获取不同工厂的不同实例对象

我的问题:为什么抽象工厂模式中的抽象工厂类不是接口?

我的问题:这里虽然按照逻辑来说可以是抽象类也可以是接口去约束工厂生产器的行为。但是为什么采用抽象类而不采用接口呢?

我的答案:首先这里,工厂生产器只需要继承一个父类,而不需要继承多个父类,所以工厂类为抽象类的第一原因。再次对于理解上来说,抽象工厂模式可以说是工厂的工厂,这里抽象工厂类,更能表现出这个整体为一个对象。而接口从代码实现上看和抽象类并无区别,但是接口更能体现的是对某些实体类的约束(如:人们上班,需要打卡,每个人都需要重写这个打卡方法)

观察者模式总结:

大概流程:被观察者(目标对象)目标类中的成员变量中有个List数组用于存放观察者,而观察者,都继承了一个Observer抽象类,这个抽象类中含有一个被观察者的成员变量(目标对象)。通过继承Observer抽象类的子类的实例对象,在构造函数中传入一个被观察者(目标对象)目标对象实例,将类中的被观察者变量指向该对象实例。从而进行绑定被观察者对象(目标对象)。然后根据被观察者对象进行对观察对象进行添加到List数组中。当被观察者调用某个方法时候,则会通知所有的观察者对象。

我的问题:为什么使用的是Observer抽象类,而不是Observer接口?

我的答案:因为在Observer抽象类中,我们可以为这个抽象类添加一些成员变量。而接口则没有类的性质,不存在成员变量。所以在观察者模式里,我们每个具体的观察者继承了Observer抽象类时候对需要一个被观察者的成员变量。在这些观察者的需要进行实例话的时候,则可以在构造函数里对这个成员变量进行指向某个被观察者的实例对象。而这里Observer使用抽象类的好处就是继承这个类的观察者类不需要再添加被观察者这个成员变量,更能体现出Observer抽象类与观察者类的关系,而这里使用接口则只能表示出一种约束关系。

总的来说:设计模式充分发挥了面向对象编程语言的多态特性。在JAVA语言中,更充分的发挥了抽象类,和接口的不同作用。

更能体会到了抽象类和接口的特性。

抽象类:具有类的特性,但是无法进行实例化,提供了抽象方法,约束了子类的某些行为(如某个函数必须重写)。

接口:接口更像是一种行为的规范,虽然某种情况和抽象类的作用一样。但是,抽象类更注重,类和类之间的关系,和存在的约束。而接口更注重对类的行为约束,统一规则。

相关文章

  • 对设计模式的总结(个人理解)

    抽象类更注重,类和类之间的关系,和存在的约束。接口更注重对类的行为约束,统一规则。 设计模式的定义: 设计模式(D...

  • 设计模式 理解总结

    设计模式解决问题步骤 1、寻找合适的对象(合适的分治、拆分) 面向对象设计最困难的部分是将系统分解成对象集合。因为...

  • 设计模式概览

    1. 设计模式简介 设计模式是前辈们总结的面向对象编程的最佳实践,使用设计模式是为了可重用代码,让人更容易理解代码...

  • 设计模式总目录

    写最好的设计模式专栏 【设计模式总结】对常用设计模式的一些思考(未完待续。。。) 一句话设计模式

  • 设计模式之单例模式

    什么是设计模式: 被反复使用,代码设计经验的总结 使用设计模式目的: 代码的重用,让代码更易于理解,保证代码可靠性...

  • 24种设计模式

    读了大话设计模式一书.暂做总结,有的理解了,有的还不太理解,以后慢慢理解 1.简单工厂模式 2.策略模式 3.装饰...

  • 设计模式-装饰模式

    设计模式是一套被在实际使用中,总结出来的一些代码设计经验的总结,学习设计模式有助于理解框架的结构。成熟的框架通常使...

  • 设计模式个人理解——策略模式

    前言 本篇是本人在看书学习和项目实际使用后的产生的,下面大多数都是自己的理解,如果有误,望在评论区指出 策略模式的...

  • 单例模式

    单例设计模式是几种设计模式中比较容易理解的,手写单例模式也是面试频繁问到的。下面总结一下单例模式的几种写法: //...

  • 设计模式总结

      看完《Head First设计模式》一书,本篇算是对设计模式做一个简单的总结。 一、为什么要使用设计模式   ...

网友评论

      本文标题:对设计模式的总结(个人理解)

      本文链接:https://www.haomeiwen.com/subject/tmixwhtx.html