1.什么是设计模式?
简答来说,设计模式就是一套好用的代码经验总结,也就是怎么写好代码的方法论。使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性。
2.设计模式的分类
设计模式可以分为三类:创建型、结构型和行为型。
创建型模式:主要用于创建对象。
结构型模式:主要用于处理类和对象的组合。
行为型模式:主要用于描述类或对象如何交互和怎样分配职责。
3.设计模式具体有哪些?
设计模式一共包含23种,具体类型如下。各模式的具体情况可以看这篇博文设计模式总结。
4.使用设计模式的目的
提高代码的复用性、可扩展性、灵活性,使程序能够高复用低耦合。
5.软件设计的七大原则
开闭原则的定义:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。
依赖倒置原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。
单一职责原则:规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。
接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。
合成复用原则:要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。