设计模式概述

Posted xiaoxiannvblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式概述相关的知识,希望对你有一定的参考价值。

一 什么是设计模式?

设计模式是一种对编写代码的总结,一种代码规范,教我们写出一篇优秀的代码,让代码有较强的可读性,维护性,健壮性,拓展性。

二 设计模式六大原则:

开闭原则 : 单一职责原则,里式替换原则,依赖倒转原则,接口隔离原则,迪米特法则

开闭原则:拓展开放,修改关闭。在软件设计过程中往往会添加新的需求,或者需求变更,会让我们对写好的代码进行修改,代码修改可能会让以往的功能发生错误,或者影响其他的功能模块,不得不重新测试

解决方案:扩展实体行为实现变化;尽量添加新的类或者方法实现功能,而不是在以往的代码上修改,添加if else或者switch什么的分支

单一职责原则:一个类负责过多的功能实现,这就相当于将过多的职责耦合在一起,当有变化时候,会导致程序错误或者引起其他不必要的麻烦;比如说代码冲突

例如:public class A{

           public void methord(){

methord2();

};

public void methord2(){};

}



如果B类调用A的methord2();而methord2不能实现功能,修改methord2的代码,可能会导致methord1承担的功能无法正常实现。并且这个类代码过多,实际开发中多人修改这个类,提交代码冲突的概率就比较大,引起不必要的麻烦

解决方案:创建新的类,不同的类完成不同的功能,减少类与类之间的耦合度

里式替换原则:在一个软件中用基类对象替换子类对象,程序将不会产生任何错误和异常

解决方案:在使用继承时,不要重写和重载父类的方法,尽量新添加方法实现功能

依赖倒转原则:高层模块不应该低层模块,二者应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象

例如:public class A{

        private B b;

           }

如果A不在依赖B而依赖C,就要修改A中的代码,就会影响A中代码的执行

改进:A 中依赖接口,B 和C实现接口

接口隔离原则:一个接口除了负责它本身的只能外,不负责其他事情。不要将很多方法写在一个接口中,这样会显得接口很臃肿。不同的类应该实现不同的接口,尽量细化接口

解决方案:接口拆分,实现类分别与他们依赖的接口建立依赖关系

迪米特法则:最少知识法则,类与类之间尽量少发生相互关系

例如:public class A{

          public static void main(String[] args){

            B b=new B();

            b.methord1();

            b.methord2();

             ...

            }

        }  

此时类A和类B就有多次冲突,B不应该把每一个方法暴露给A,只需要给A一个入口就行

解决方案:尽量降低类与类之间的耦合度









































































以上是关于设计模式概述的主要内容,如果未能解决你的问题,请参考以下文章

设计模式概述

设计模式和软件设计原则概述

设计模式概述 + 分类

[高级]设计模式——设计模式概述

[高级]设计模式——设计模式概述

一设计模式概述