zoukankan      html  css  js  c++  java
  • 关于设计模式的思考

    1.为什么会出现设计模式

    我们将一个功能模块,使用OO来抽象为不同的类,然后这些类协作完成功能。类协作的时候就产生了类与类之间的耦合。类和类的协作产生耦合其实就是new导致的。

    例如:

    class A{

        public void method(){

            B b = new B();

            C c = new C();

            D d = new D();

            b.doB();

            c.doC();

            d.DoD();

        }

    }

    如上图所示为了实现类A的method方法,就依赖与类B,C,D,考虑这几个类如果发生变化,则,这里的代码也要变化。所以这里就出现了一种紧耦合。其实只要一出现new则此处的代码就依赖与这个实现了。所以要解耦合,就是要消除这些 new 带来的紧耦合。所谓设计模式,其实就是在不同的耦合场景下,如何将new给去掉的一种方式。例如:创建形模式解决的是new带来的对象耦合问题。再一个设计模式的一个目的就是对重复代码进行重构,例如模板方法模式(行为型模式),重复代码提升为模板方法。设计模式还有一个目的就是实现代码复用:例如适配器模式,就可以实现复用已有的代码,代理模式:增强已有代码的作用。等等。。。

  • 相关阅读:
    BOM操作
    重绘和回流
    css3动画 --- Transition
    css3动画 --- Animation
    flex布局
    读书笔记之python深入面向对象编程
    读书笔记之python面向对象编程的四大支柱
    git基础使用01
    python读取列表中的每个数据,@DDT,@Data(*data),@unpack使用
    python单元测试_读取excel表中的数据
  • 原文地址:https://www.cnblogs.com/a-ray-of-sunshine/p/4658732.html
Copyright © 2011-2022 走看看