zoukankan      html  css  js  c++  java
  • 设计模式-桥接、状态、策略

    桥接模式

      why:

      把抽象化与实现化解耦,使得二者可以独立变化。

      when:

      实现系统可能有多个角度分类,每一种角度都可能变化。

      how:

      将抽象类的一些操作,抽取到一个接口中,并在抽象类中持有这个接口的对象。

    策略模式

      why:

      定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。

      when:

      一个类的行为或其算法可以在运行时更改。

      how:

      所有的策略类实现同一个接口。在context类中,持有接口对象,可在运行时,动态传入接口实现类的引用(接口回调)。

    状态模式

      why:

      将表示对象状态的逻辑分散到代表状态的不同类中。

      when:

      代码中包含大量与对象状态有关的条件语句

      how:

      关键在于,当对象的状态发生改变的时候,动态地改变对象的行为:

      1. 让主对象包含一组状态的引用。

      2. 在状态的调用中,将主对象传递给状态改变的类。

      3. 让状态类的信息提供者,仅仅给出下一个状态。

  • 相关阅读:
    无题
    使用git clone 出现 Permission denied 解决办法
    为什么要用BigDecimal
    FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
    版本管理规范
    Intellij Idea 常用快捷键
    AI学习资源
    Python图谱
    网站架构演化历程
    微服务系列
  • 原文地址:https://www.cnblogs.com/zhouj-happy/p/6344051.html
Copyright © 2011-2022 走看看