读书笔记----软件设计原则、设计模式

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11833
这个作业的目标 学习设计模式,了解一些程序开发过程中的需要遵循的设计原则

一.所选书名

《Android源码设计模式解析与实战》第二版

二.简介

本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。

三.读书笔记

1.书中第一章就介绍了面向对象的六大设计原则:

  • 单一职能原则:
    每一个类实现的功能和作用要单一,比如实体类实现的是单纯的属性和get,set方法,是为了能生成一个纯净的类。实现逻辑操作的要重新生成一个类,不要在实体类中给出复杂业务逻辑的操作。调用到业务逻辑的服务操作也要重新生成一个类,边界尽量清晰。

  • 里氏替换原则:
    子类可以继承父类的私有方法以外的所有方法和非私有的属性,重写可以覆盖掉父类中同名同参数的方法。子类必须完全实现父类的方法。子类可以有自己独立的属性和方法。覆盖或实现父类的方法时输入参数可能会被放大。(如果子类给的参数范围大于父类,不会被执行到,要求子类给参数类型必须等于父类)。 覆盖或者实现父类的方法时输出可以被缩小范围。(父类的返回参数类型必须大于子类)。

  • 依赖倒置的原则
    使用接口,就是面向接口编程。

  • 接口隔离
    接口实现的作用越简单越好,最好是只针对某一项相同对象的。

  • 迪米特法则:
    类之间的调用,最好不要知道被调用者中其他信息,只要知道对应的接口即可。具体如何实现不需要知道,或者越少越好。

  • 开闭原则:
    使用extends(继承)的方法实现原有的类的方法以及扩展其中的应用,应用去系统升级,替换实现类即可,不需要太多变

2.详细讲解了26中设计模式:

  • builder模式,原型模式,工厂方法模式,抽象工厂模式,策略模式,状态模式。责任链模式,解析器模式,命令模式,观察者模式,备忘录模式,迭代器模式,访问者模式,中介者模式,代理模式,组合模式,设配器模式,装饰模式,享元模式,外观模式,桥接模式等

3.架构模式:

  • 讲解了mvc,mvp和mvvm三个架构模式,并举出实例帮助读者理解。

4.心得:

  • 在学习java的io系统的时候,发现java使用了很多装饰者模式,使用装饰者模式,能在对象已经存在的情况下,通过装饰,改变对象的行为。
  • 让我深刻意识到程序开发的艺术,在写代码需要提前规划,分配好各个模块,运用上所学的设计模式,只有这样才能写出易扩展且健壮的代码
posted @ 2021-03-16 19:29  hzh003  阅读(57)  评论(0编辑  收藏  举报