设计模式

原创
03/25 18:04
阅读数 42

设计模式解决问题:

      设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案

常用七大原则:

        1、单一职责原则

                对于类来说,即一个类只负责一个职责。比如userDao这个类他只负责user表的增删改查等操作。

             注意事项:

                    1、降低类的复杂度,一个类只负责一个职责

                    2、提高类的可读性,可维护性

                    3、降低变更引起的风险

        2、接口隔离原则

                1、客户端不应该依赖他不需要的接口

                2、一个类对另外一个类的依赖性应该是建立在最小的接口上

                3、不应当将不同的接口合并在一起,形成一个臃肿的大接口,这是对接口的污染

                4、使用多个专门的接口要比使用单一的总接口要好

        3、依赖倒转原则

             基本介绍

                    1、高层模块不应该依赖低层模块,二者应该依赖其抽象

                    2、抽象不应该依赖细节,细节应该依赖抽象

                    3、依赖倒转的中心思想是面向接口编程

                    4、使用接口或抽象类的目的是制定好规范,而不涉及具体的操作,把具体的实现交给他的实现类去完成

                    5、相对于实现的多变性来说,接口或者抽象类要稳定很多,以抽象类或者接口为基础搭建框架会比实现类更稳定。

             注意事项

                    1、低层模块尽量都要有抽象类或接口,或者两者都有,程序稳定性更好

                    2、变量的声明类型尽量是接口或者抽象类,这样我们变量的引用或者对象间降低耦合,有利于程序扩展和优化

                    3、继承时遵循里氏替换原则

        4、里氏替换原则

             基本介绍

                    1、在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类方法

                    2、继承实际上是让两个类耦合性更强,在适当的情况下可以通过聚合,组合,依赖来解决问题

        5、开闭原则

             基本介绍

                    1、开闭原则是编程中最基础、最重要的设计原则

                    2、一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节

                    3、当软件需要变化,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化

                    4、使用设计模式的目的就是遵循开闭原则

        6、迪米特法则

             基本介绍

                    1、一个对象应该对其他对象保持最少的了解

                    2、类与类关系密切,耦合度越大

                    3、迪米特法则又叫最少知道原则,即一个类对自己的依赖的类知道的越少越好。

            迪米特法则的优点

                    1、降低了类之间的耦合度,提高了模块的相对独立性。

                    2、由于亲合度降低,从而提高了类的可复用率和系统的扩展性。

        7、合成复用原则

            基本介绍

                        原则上尽量使用合成/聚合的方式,而不是使用继承

设计模式目的

        编写软件过程中,程序员面临着来自耦合性、内聚性以及可维护性,可扩展性,重用性,灵活性等方面的挑战,设计模式为了让程序具体有更好的

        1、代码重用性

        2、可读性

        3、可扩展性

        4、可靠性

        5、使程序呈现高内聚,低耦合的特性

设计模式类型

        创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式

        结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

        行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部