【Java】每个Java程序员都应该学习10条编码原则( 三 )


7.Liskov替代原则
根据Liskov替换原则 , 子类型必须是超级类型的替代I指使用超类类型的方法或函数必须能够使用对象子类 , 没有任何问题“ 。
LSP关系密切对单一责任原则和界面分离原理.
如果类具有比子类更多的功能 , 则可能不支持某些功能 , 并且确实违反了LSP 。
为了跟随LSP实体设计原理 , 派生类或子类必须增强功能 , 而不是减少它们 。 LSP代表固体缩略词的“L” 。
下面是一个违背Java中Liskov替换原则的代码示例:
Liskov替换原理在Java中的应用
如果你有办法area(Rectangle r) , 它计算矩形的面积 , 然后当您传递Square 因为Square 不是真正的长方形 。
如果您对一个更真实的示例感兴趣 , 那么面向对象设计的坚实原则Pluralsight课程是一门非常好的课程 。
8.接口隔离原则(ISP)
接口隔离原则说明客户端不应实现界面如果它不使用这个的话 。
这种情况主要发生在一个接口包含多个功能时 , 而客户机只需要一个功能 , 而不需要其他功能 。
毫无疑问 , 接口设计是一项棘手的工作 , 因为一旦您释放了您的接口 , 您就无法在不破坏所有实现的情况下更改它 。 当然 , Java 8的默认或保护方法功能确实为接口的发展提供了一种方式 , 但并不是所有的编程语言都支持这些特性 。
这种设计原则在Java中的另一个好处是 , 接口的缺点是在任何类都可以使用它之前实现所有方法 , 因此拥有单一的功能意味着实现的方法更少 。
如果您在编写代码时得不到接口的好处 , 那么我建议您阅读我的博客文章 , Java中接口的实际使用了解更多 。
9.接口方案编制-不执行
程序员应该总是用于接口的程序 , 而不是用于实现的;将导致灵活的代码 , 它可以与接口的任何新实现一起工作 。
具体而言 , 您应该对变量使用接口类型 , 返回方法的类型 。 类Java中的参数类型SuperClass类型来存储对象 , 而不是使用SubClass.
我是说
List numbers= getNumbers();
而不是
ArrayList numbers = getNumbers();
这也在许多Java书籍中得到了建议 , 包括有效Java和头第一设计模式书 。
如果您对提高程序的代码质量感兴趣 , 我还建议您看看重构设计模式关于Udemy的课程 , 它将帮助您使用C#中的重构技术和设计模式来改进内部设计 。
10.授权原则
不要自己做所有的事情 , 把它委托给相应的班级 。 委托设计原则的经典例子是java中的equals()和hashCode()方法.
为了比较两个对象是否相等 , 我们要求类本身进行比较 , 而不是进行比较 。 Client 做那个检查 。
这个设计原则的主要好处是没有重复代码而且很容易改变行为 。 事件委托是此原则的另一个示例 , 其中将事件委托给处理程序进行处理 。
总结
所有这些面向对象设计原则通过努力实现高内聚性和低耦合性 , 帮助您编写灵活和更好的代码 。
理论是第一步 , 但最重要的是培养发现何时应用这些设计原则的能力.
一旦掌握了这一点 , 下一步就是学习Java中的设计模式 , 它使用这些设计模式来解决应用程序开发和软件工程中常见的问题 。
为感谢您对我们的认可 , 特意准备了一些IT入门和进阶的干货
包括:Java、UI设计、H5前端、Python+人工智能、软件测试和新媒体运营六大学科视频资料 。 以及IT就业大礼包 。
线上视频、音频 , 随时学习观看
关注我们并私信“资料”即可获取 。


推荐阅读