• 面向对象思想与设计模式分类


    抽象
    抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

    继承
    继承是从已有类得到继承信息创建新类的过程。继承实现了 IS-A 关系,子类对象必须能够替换掉所有父类对象。

    封装
    利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外的接口使其与外部发生联系。用户无需关心对象内部的细节,但可以通过对象对外提供的接口来访问该对象。

    多态
    方法重载,实现的是编译时的多态性(前绑定)
    方法重写,实现的是运行时的多态性(后绑定),运行时多态是面向对象的精髓
    要实现多态需要做两件事:
    1)方法重写(子类继承父类并重写父类中已经的或抽象的方法)
    2)对象造型(用父类型引用调用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)

    按照应用目标分类,设计模式可以分为创建型模式、结构型模式和行为型模式。

    创建型模式:是对对象创建过程的各种问题和解决方案的总结。

    常见的创建型模式有:工厂模式、单例模式、构建器模式、原型模式等

    结构型模式:是对软件设计结构的总结,关注于类、对象继承、组合方式的实践经验。

    常见的结构型模式有:桥接模式、适配器模式、装饰者模式、代理模式、组合模式、外观模式、享元模式等

    行为型模式:是从类或对象之间交互、职责划分等角度总结的模式。

    常见的行为型模式有:策略模式、解释器模式、命令模式、观察者模式、迭代器模式、模板方法模式、访问者模式等

    引申问题:在Spring中使用了哪些设计模式?

    1)在BeanFactory和ApplicationContext中应用工厂模式

    2)在Bean的创建中,Spring为不同scope定义的对象,提供了单例和原型等模式实现。

    3)在各种事件监听器中,应用了观察者模式

    4)在JdbcTemplate中应用了模板模式

  • 相关阅读:
    MyBatis入门案例
    springboot mybatis 后台框架平台 集成代码生成器 shiro 权限
    原谅这世界没那么美好
    十万的License只取决于一个连接
    Qt连接数据库的两种方法
    桃李春风一杯酒 江湖夜雨十年灯
    ERROR:Can't connect to local MySQL server through socket可能出现的情况
    MySQL忽略授权表方式<--skip-grant-tables>重置管理用户密码
    MySQL5.7和5.6初始化数据的区别
    Rsync同步过程中遇到的常见问题
  • 原文地址:https://www.cnblogs.com/flyuz/p/10542034.html
Copyright © 2020-2023  润新知