中国煤炭建设协网站wordpress怎么装修网页
news/
2025/10/7 9:00:50/
文章来源:
中国煤炭建设协网站,wordpress怎么装修网页,山东省住房和城乡建设厅政务服务,公司网站建设流程为什么要学习设计模式#xff1f;
要知道设计模式就是软件工程的方法经验的总结#xff0c;也是可以认为是过去一段时间软件工程的一个最佳实践#xff0c;要理解#xff0c;不要死记硬背。掌握这些方法后#xff0c;可以让你的程序获得以下好处#xff1a;
代码重用性…为什么要学习设计模式
要知道设计模式就是软件工程的方法经验的总结也是可以认为是过去一段时间软件工程的一个最佳实践要理解不要死记硬背。掌握这些方法后可以让你的程序获得以下好处
代码重用性相同功能的代码不用多次编写可读性编程规范性便于其他程序员的阅读和理解可扩展性当需要增加新的功能时非常的方便称为可维护可靠性当我们增加新的功能后对原来的功能没有影响使程序呈现高内聚低耦合的特性。
当然设计是有限度的不能无限的考虑未来的变更情况否则就会陷入设计的泥潭而无法自拔。方法是死的人是活用的时候一定灵活运用才能发挥它的作用。设计模式中六大设计原则这些原则可以认为是设计模式的灵昏。下面先对六大设计原则简单梳理一下然后再详细分析每一个设计原则。
设计模式的六大原则
单一职责原则一个类或一个接口只干一件事要实现类的职责单一这也可以延伸到对方法的理解上主要目的是为了便于理解代码的业务含义提高代码的可读性里氏替换原则里氏替换原则的本质是描述父类与子类之间的继承规则子类对象无论何时都能替换父类对象子类可以扩展父类的功能但不能改变父类原有的功能主要目的是为了防止继承泛滥增强程序的分健壮性依赖倒置原则是指高层不应该依赖低层要面向接口编程主要目的是为了方便的对代码结果进行升级扩展接口隔离原则即用多个专门的接口,而不是用单一的总接口,客户端不应该依赖它不需要的接口主要目的是功能解耦高聚合、低耦合迪米特法则一个类对自己所依赖的类知道的越少越好。也就是说对于被依赖的类不管多么复杂都尽量将逻辑封装在类的内部只和朋友交流不和陌生人说话减少代码臃肿开闭原则对扩展是开放的对修改是关闭的主要目的是为了降低维护带来的新风险
单一职责原则
单一职责一个类或接口只负责一项职责
好处
类的复杂性降低实现什么职责、具备什么功能都有清晰明确的定义可读性提高类之间的复杂性降低可读性就提高了可维护性提高可读性提高了也就更便于维护变更引起的风险降低类或接口具有单一的功能职责变更的范围变小受影响的范围也小风险也就变低了
单一职责是几个设计原则里最简单最容易理解也是最不好把握的因为职责的划分是仁者见仁智者见智的如果职责划分的颗粒度较粗那就不符合单一职责的原则或者失去了单一职责原则的意义如果职责划分的颗粒度较细也不太好会引起类或接口的剧增有过度设计的嫌疑给维护带来一定的麻烦因此在单一职责这个原则上是需要把据一定的灵活性的毕竟原则是死的人是活的嘛。
里氏替换原则
里氏替换原则的目的是增加程序的健壮性核心思想是所有引用基类的地方必须能够透明地使用子类的对象具体则体现在四个方面
子类必须完全的实现父类的方法子类也可以有自己的个性覆盖或实现父类的方法时输入参数可以被放大覆盖或实现父类的方法时返回值类型可以被缩小
好处
加强程序的健壮性版本升级时可以做到很好的兼容性增加子类原有的子类还可以继续运行
开闭原则
开闭原则一个类、接口或方法对扩展是开放的对修改是关闭的具体点就是用抽象来构建框架用实现来扩展细节即尽量通过扩展实体的行为来实现变化而不是通过修改现已有代码来实现变化。相信很多同学对这点是深有体会的就是在维护一段有很多人反复维护修改过的代码的时候每一个来改的人改之前都要口士芬芳一番然后无可奈何的接受现状。
我认为开闭原则是仅次于单一职责的最简单、最需要被实践的原则虽然简单但是好处可大大的不简单
提高软件产品的稳定性开闭原则要求保持原有代码不变添加新代码来实现软件的变化这样可以避免改坏线上功能的情况避免老用户的流失。不影响原有测试代码的运行遵守开闭原则软件的变化不会影响到原有的测试代码避免测试出错。提高代码的可复用性面向对象的程序设计中根据原子和抽象编程可以提高代码的可复用性。提高软件的可维护性开闭原则的软件其稳定性高和延续性强从而易于扩展和维护。使代码更具模块化易于维护开闭原则可以让代码中的各功能以及新旧功能独立存在于不同的单元模块中一旦某个功能出现问题可以很快地锁定代码位置作出修改由于模块间代码独立不相互调用更改一个功能的代码也不会引起其他功能的崩溃。
依赖倒置原则
依赖倒置原则的核心是面向接口接口编程主要体现在几个方面
高层模块不应该依赖低层模块两者都应该依赖抽象抽象不应该依赖细节细节应该依赖抽象依赖关系通过抽象类或接口实现实现类之间不直接发生依赖关系接口或抽象类不依赖于实现类实现类依赖接口或抽象类
好处
降低类间的耦合性依赖倒置原则可以降低类间的耦合性使得代码更加健壮更加耐久。提高系统的稳定性依赖倒置原则可以提高系统的稳定性使得代码更加稳定可靠。减少并行开发引起的风险依赖倒置原则可以减少并行开发引起的风险使得并行开发更加高效。提高代码的可读性和可维护性依赖倒置原则可以提高代码的可读性和可维护性使得代码更加易于理解和维护。
接口隔离原则
接口隔离原则是指类或接口间的依赖应该建立在最小接口上具体就是
一个类对一个类的依赖应该建立在最小的接口之上要建立单一的接口不要建立庞大臃肿的接口接口要尽量细化接口中的方法要尽量的少而不要建立一个庞大的接口供很多的依赖类来调用
这里有的小伙们可能就有疑问了这好像与单一职责有点类似呀是的确实有点类似但是完全不同单一职责强调的是类和接口的职责要单一并没有强调接口的方法也要少而接口隔离原则强调的是接口方法的松散程度
降低耦合度接口隔离原则将接口细化减少了不相关的方法和依赖关系降低了模块之间的耦合度。提高灵活性通过细粒度的接口定义系统更容易适应变化可以灵活地替换实现而不影响其他部分的代码。增强可维护性接口隔离原则使得代码更加清晰、可读性更高便于理解和维护。提高代码复用性通过接口的细化和适配器模式的使用可以实现接口的复用减少重复代码的编写。
迪米特原则
迪米特法则又叫 最少知道原则即一个类对自己所依赖的类知道的越少越好。具体表现
对于被依赖的类不管多么复杂都尽量将逻辑封装在类的内部。对外除了提供的public 方法不对外泄露任何细节信息。两个实体间无需直接通信可以通过第三方进行间接调用。迪米特法则还有一个更简单的定义只与直接的朋友通信。那什么是“直接朋友”呢直接的朋友每个对象都会与其他对象有耦合关系只要两个对象之间有耦合关系我们就说这两个对象之间是朋友关系。耦合的方式很多依赖、关联、组合、聚合等。我们称出现成员变量、方法参数、方法返回值中的类为直接朋友而出现在局部变量中的类不是直接朋友。也就是说陌生的类最好不要以局部变量的形式出现在类的内部。
好处
降低类之间的耦合度迪米特原则要求限制对象之间的直接交互减少对象之间的依赖关系避免出现复杂的交互关系和耦合度高的代码。提高模块的相对独立性通过迪米特原则我们可以将对象之间的依赖关系转化为通过第三者间接交互增加了系统的独立性和可维护性。提高类的可复用率和系统的扩展性由于迪米特原则降低了类之间的耦合度使得类更加独立和可复用同时也使得系统更加易于扩展和维护。
总结
最后还是要强调一点设计原则和设计模式绝对不是灵丹妙药全用上就是好。当然设计原则有人理解是六种也有理解是七种的。不管理解是几种设计模式和设计原则属于方法论的内容是要帮助我们解决具体的业务问题的当然需要具体问题具体对待。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930230.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!