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


    这个作业属于哪个课程 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使用了很多装饰者模式,使用装饰者模式,能在对象已经存在的情况下,通过装饰,改变对象的行为。
    • 让我深刻意识到程序开发的艺术,在写代码需要提前规划,分配好各个模块,运用上所学的设计模式,只有这样才能写出易扩展且健壮的代码
  • 相关阅读:
    如何调试webservice接口是否正常
    备份数据库表
    【web】sqli-labs学习
    【web】php文件包含(利用phpinfo)
    【二进制】【WP】MOCTF逆向题解
    【web】BUUCTF-web刷题记录
    【WP】【web】中学生CTF | web部分wp
    【密码学】AES简单学习
    【密码学】CBC反转字节攻击
    【WP】攻防世界-杂项-Misc
  • 原文地址:https://www.cnblogs.com/hzhz00/p/14545386.html
Copyright © 2020-2023  润新知