zoukankan      html  css  js  c++  java
  • 设计模式个人笔记

    1.单例模式(singleton pattern)

    描述:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例

    笔记:通过改变构造函数实现

    2.工厂模式(factory pattern)

    描述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类

    笔记:把具体实现下移至子类。(依赖倒置原则)

    示例:JDBC。根据一个名字就改变链接数据库的方式

    3.策略模式(strategy pattern)

    描述:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换

    笔记:算法类实现接口,策略类定义好调用方式(不变)。经常和工厂模式混合使用,来控制具体调用哪个策略

    4.装饰模式(decorator pattern)

    描述:动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活

    笔记:通过构造函数指定成员变量的方式,可以重复嵌套装饰类,并通过重写方法的方式不断循环调用被嵌套的重写方法。比起爆炸式的重复继承,这种装饰模式要方便灵活的多。(PS.继承超过2层以上,就要考虑是不是设计出了问题了)

    优点:有效的把类的核心职责和装饰功能区分开了。而且可以去除相关类中的重复的装饰逻辑

    5.代理模式(proxy pattern)

    描述:为其他对象提供一种代理以控制对这个对象的访问

    笔记:通过实现接口,构造函数指定被代理类,执行被代理类的方法来实现。动态代理模式是AOP(切面编程)的核心机制。

  • 相关阅读:
    phpStudy mysql升级至5.7
    apache 子域名自动与子域名同名的目录绑定
    js 移动端获取当前用户的经纬度
    PHPStudy环境下搭建composer
    MySQL sock 文件丢失被删除解决方法
    Nginx+Php-fpm运行原理详解
    服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
    php 下载文件/直接下载数据内容
    window 克隆复制当前窗口
    staff
  • 原文地址:https://www.cnblogs.com/xujanus/p/5534042.html
Copyright © 2011-2022 走看看