在写第一行代码之前

该如何写下自己的第一行代码,之前就在网上看到一篇被转载多次以至于都不知道原著是谁的BLOG。我觉得他写的很好。看完后自己总结下:

我们为什么学习设计模式,因为这些模板是遵循了了OO的6个设计原则,并且在实际项目经过了检验。可以拿来套在其他OO的程序上。所以在学习设计模式之前要追溯到OO的6个设计原则:

设计原则:

  • 原则1:单一职责
  • 原则2:里氏替换原则(子类扩展但不改变父类功能)
  • 原则3:依赖倒置原则
  • 原则4:接口隔离原则
  • 原则5:迪米特法则(最少知道原则)
  • 原则6:开闭原则

简介:

1.类的单一原则:

为什么我们总是在写代码的时候不经意间会违背他?我认为是初期设计类的时候考虑不充分造成的。一个类里实现了多个功能不一定是坏事,在简单逻辑中反而会提高效率。不过一旦需求变更,很容易出隐患。(PS:这里的隐患,原作者用一段演示代码展示的很好)

遵循类的单一原则,最大的好处我认为就是可以最大限度的适应新需求,对新需求的兼容性好,不容易出问题。

2.里氏替换原则:

这条原则我在写代码时没有领悟到。简短的说就是:

子类可以扩展父类的功能,但不能改变父类原有的功能(这里的“改变父类原有的功能”意思是子类中重写了父类的非抽象的方法)

至于为什么子类要避免改变父类的功能,尽量拓展子类自己的功能,原作者的实例代码并不是太让我信服,只是指出这样做可以避免代码出问题。

3.依赖倒置原则

一句话概括就是让你面向接口编程

面向接口编程对应的则是面向实现编程。原作者的实例代码很好的展示了面向接口的优点:面向接口编程可以降低类之间的耦合性,在多人并行开发中可以互不干扰,合作利器。

在实际开发时,底层的模块一定要有抽象类或接口

4.接口隔离原则

在遵循依赖倒置原则时,我们会大量使用接口,而接口隔离原则则是对接口使用的规范。简单的说就是在设计接口时如果接口内方法太多,且依赖他的类有很多,那么就会出现有些类不需要实现接口里所有的方法的现象。所以要适当拆分臃肿的接口。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口要更加稳定灵活。

5.迪米特法则

类和类之间耦合越大时,一个类改变,依赖他的类会受到巨大影响,也要改变。对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。

6.开闭原则

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。只要我们对前面5项原则遵守的好了,设计出的软件自然是符合开闭原则。

原文地址:https://www.cnblogs.com/space1996/p/13732856.html