澄迈网站建设,上海seo推广,福建网站建设服务,p2p理财网站开发概述
设计模式的六大原则是设计模式的基础#xff0c;了解设计模式的原则#xff0c;有利于设计模式实际应用的理解#xff0c;在真实使用的时候#xff0c;一般不太可能一个程序满足所有的设计模式六大原则#xff0c;或多或少都会有违背设计模的地方#xff0c;所以不…概述
设计模式的六大原则是设计模式的基础了解设计模式的原则有利于设计模式实际应用的理解在真实使用的时候一般不太可能一个程序满足所有的设计模式六大原则或多或少都会有违背设计模的地方所以不用再写程序的时候强行满足所有设计模式的原则合适自己的项目的才是最合适的。
开闭原则Open Close PrincipleOCP
一个设计好的软件框架类模块函数应该对扩展开放对修改关闭对于已经写好的方法或类应该提供扩展方法不要修改原本的内容如果有新的需求在原有的基础上添加不可以修改已经写好的内容提升的代码的稳定性。总之就是写好的代码不要动只允许扩展不允许修改这个显然是不太可能的哪有不修改的代码呢
单一职责原则Single Responsibility PrincipleSRP
一个类应该只包含它自己的内容或引起的变化功能明确比如声音管理器那它应该只包含声音相关的功能提供播放暂停继续等方法不应该包含比如视频播放的功能这个原则在实际开发中是非常重要的有利于代码的维护提高代码的可读性。总之就是一个类尽量只包含它自己相关的方法和属性。
里氏替换原则Liskov Substitution Principle,LSP
这个原则的主要内容就是子类的可以替代父类而不影响程序的正确性简单来说就是父类使用的地方直接用子类替换掉程序不会出问题。
接口隔离原则Interface Segregation PrincipleISP
接口隔离原则字面意思接口应该隔离我们知道在继承一个接口的时候我们都需要实现接口中的方法才行那为什么需要隔离呢举个例子比如人类有共有的吃饭睡觉喝水的方法但是人类却有医生护士老师工程师程序员等子类他们都有自己特殊的方法那我们写个接口把每个人特殊的方法都加进来那这个接口就包括开药治病教书建筑敲代码等等等等那得有多少个方法实现而且其实每个职业只需要自己的方法就行其它方法都是空的所以就需要接口隔离每个职业只继承自己的接口就行这个和单一职责原则比较像我称为单一接口职责原则这只是我方便记忆的方法准确的请记ISP哈。
依赖倒转原则Dependency Inversion PrincipleDIP
依赖倒转原则比较多的是实用在框架编写中你写的Base基类不应该依赖于继承与基类的具体事项类举个例子你定义了一个UI的基类叫UIBase然后具体的UI面板继承与UI基类叫XXPanel但是你在UI基类中却引用到了XXPanel这就违反了依赖导致原则如果这个面板销毁了那UIBase也就会报错那引用到UIBase的面板都会报错所以具体的抽象基类不应该引用任何具体的实现类可以降低各个模块的耦合性。总之定义基类的时候不可以引用具体的实现类。
迪米特原则Law of Demeter,LD
迪米特原则又叫最小知道原则有名字就可以知道一个对象应该对另外一个对象有最少的了解这样做可以降低程序之间的耦合性举个例子老师类和学生类老师想知道学习的语文成绩是多少但是方法却提供了语文数学英语物理化学等多样信息这显然是不需要的所以对一个方法只提供需要的数据。总结知道自己的就行不知道的我不想知道。