网站建设中 切片指什么,广州h5网站制作公司,龙岗建设网站,php制作招聘网站设计原则单一职责原则(SRP)从三大特性角度看原则:应用的设计模式#xff1a;开放封闭原则(OCP)从三大特性角度看原则:应用的设计模式#xff1a;里氏替换原则(LSP)从三大特性角度看原则:应用的设计模式#xff1a;依赖倒置原则(DIP)从三大特性角度看原则:应用的设计模式开放封闭原则(OCP)从三大特性角度看原则:应用的设计模式里氏替换原则(LSP)从三大特性角度看原则:应用的设计模式依赖倒置原则(DIP)从三大特性角度看原则:应用的设计模式接口隔离原则(ISP)从三大特性角度看原则:应用的设计模式迪米特法则(LoD)从三大特性角度看原则:应用的设计模式单一职责原则(SRP)
高内聚低耦合为程序设计原则确保一个类或方法只负责单一功能或职责避免代码耦合度高问题提高代码的可维护性和可读性。
从三大特性角度看原则:
封装:将一个类的职责限制在一个范围内避免代码重复和混乱 继承:确保基类以及派生类都只需要专注于一个功能
应用的设计模式
工厂模式中将对象的创建和使用分离开来符合单一职责原则的要求。 代理模式中为其他对象提供一种代理以控制对这个对象的访问并将代理对象和被代理对象分别负责自己的职责。 观察者模式中定义了一种一对多的依赖关系当一个对象发生改变时所有依赖它的对象都会得到通知各自负责自己的职责。 装饰器模式中动态地给对象添加一些额外的职责而不影响这个对象的其他职责。 策略模式中定义一系列算法将它们封装起来并且使它们可以相互替换每个算法实现一个单一的职责。
开放封闭原则(OCP)
对修改关闭对扩展开放通过抽象化和接口定义提供可扩展性同时避免对原有代码的大规模修改。
从三大特性角度看原则:
多态: 通过抽象来实现多态可以使不同的实现有共同的接口从而使得代码更具可扩展性。 封装可以促进封装将代码封装在类中可以使得代码更加稳定并且使得变化更容易管理。
应用的设计模式
模板方法模式定义一个操作中的算法的骨架将一些步骤延迟到子类中实现。通过在父类中定义抽象方法或钩子函数来让子类实现具体的功能从而避免了对原有代码的修改。 策略模式定义一系列算法将它们分别封装起来并且使它们可以相互替换。通过封装算法我们可以在不修改原有代码的情况下增加新的算法实现从而实现了对扩展的开放。 装饰器模式动态地给一个对象添加一些额外的职责而不改变其结构。通过在不改变原有代码的情况下增加新的装饰器类来扩展对象的功能从而实现了对扩展的开放。 观察者模式定义了一种一对多的依赖关系当一个对象发生改变时所有依赖它的对象都会得到通知。通过将被观察者和观察者分离开来我们可以在不修改原有代码的情况下增加新的观察者类从而实现了对扩展的开放。
里氏替换原则(LSP)
保证子类可以替换父类并且不改变程序的正确性提高系统的可扩展性和可维护性。
从三大特性角度看原则:
多态:通过接口抽象实现多态从而增加程序的灵活性。 继承:确保了派生类可以完全取代基类并且可以提高代码重用性。
应用的设计模式
工厂方法模式定义一个创建对象的接口让子类决定实例化哪一个类。通过将对象的创建过程交给子类来完成我们可以保证在父类和子类之间的同步性从而遵循了里氏替换原则。 策略模式定义一系列算法将它们分别封装起来并且使它们可以相互替换。通过将策略抽象成一个接口不同的子类可以根据自己的需求来实现该接口从而遵循了里氏替换原则。 模板方法模式定义一个操作中的算法的骨架将一些步骤延迟到子类中实现。通过在父类中定义抽象方法或钩子函数让子类实现具体的功能从而遵循了里氏替换原则。 适配器模式将一个类的接口转换成客户希望的另外一个接口。通过适配器类来实现原有接口和目标接口之间的适配从而遵循了里氏替换原则。
依赖倒置原则(DIP)
通过接口定义降低模块间的耦合度提高系统的可重用性、可扩展性和可维护性。
从三大特性角度看原则:
多态与封装:通过使用接口或者抽象类高层次模块可以从底层实现中分离出来并且只与其抽象接口通信。
应用的设计模式
工厂方法模式定义一个创建对象的接口让子类决定实例化哪一个类。通过将对象的创建过程交给子类来完成并且使用工厂接口来代替具体的实现类从而实现了依赖倒置原则。 抽象工厂模式提供一个接口用于创建相关或依赖对象的家族而不需要明确指定具体类。通过使用抽象工厂接口和抽象产品接口来代替具体的实现类从而实现了依赖倒置原则。 依赖注入模式通过构造函数、Setter方法或接口注入的方式将具体的实现类注入到使用它的类中。通过这种方式我们可以将具体实现类的创建和使用分离开来并且使用接口或抽象类来进行编程从而实现了依赖倒置原则。 模板方法模式定义一个操作中的算法的骨架将一些步骤延迟到子类中实现。通过在父类中定义抽象方法或钩子函数让子类实现具体的功能并且使用接口或抽象类来进行编程从而实现了依赖倒置原则。
接口隔离原则(ISP)
尽可能将接口拆分为小而专业的部分防止客户端依赖过多不必要的接口提高代码的可读性和可维护性。
从三大特性角度看原则:
多态:使用抽象接口使得代码更加灵活并且可以避免过度依赖某些具体实现的问题。 封装:将接口拆分成小的、专注的接口可以降低程序复杂性。
应用的设计模式
适配器模式将一个类的接口转换成客户希望的另外一个接口。通过使用适配器模式我们可以将一个大而全的接口拆分成多个小而专注的接口从而实现了接口隔离原则。 外观模式为子系统提供一个单独的入口点并且隐藏其内部的实现细节。通过定义一个高层次的接口来代表子系统的功能在具体实现时只需要实现这个高层次的接口即可从而实现了接口隔离原则。 策略模式定义一系列算法将它们封装起来并且使它们可以相互替换。通过将每种算法都抽象成一个接口不同的策略类可以根据自己的需求来实现该接口从而实现了接口隔离原则。 命令模式将请求封装成一个对象并且使得可以用不同的请求来参数化其他对象。通过将每种请求都抽象成一个接口不同的命令类可以根据自己的需求来实现该接口从而实现了接口隔离原则。
迪米特法则(LoD)
一个对象应该对其他对象有尽可能少的了解降低系统的耦合度提高系统的可维护性和可扩展性。
从三大特性角度看原则:
封装与多态:将实现细节和依赖关系隐藏起来使系统更加稳定可维护并可扩展性。
应用的设计模式
中介者模式定义一个中介对象来封装一系列的对象交互。通过将对象之间的通信转移给中介者处理避免了对象之间的直接交互从而实现了迪米特法则。 外观模式为子系统提供一个单独的入口点并且隐藏其内部的实现细节。通过在客户端与子系统之间增加一个外观对象可以使得客户端只需要和外观对象进行交互而不需要了解子系统的具体实现从而实现了迪米特法则。 享元模式运用共享技术来减少对象的创建数量从而提高系统的性能。通过将公共部分抽象成享元对象在多个对象之间共享这些对象从而减少了对象之间的依赖关系从而实现了迪米特法则。 观察者模式定义一种一对多的依赖关系当一个对象发生改变时所有依赖它的对象都会得到通知。通过将被观察者和观察者分离开来避免了对象之间的直接交互从而实现了迪米特法则。