ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[SOLID] — Liskov 替换原则

2022-08-31 03:31:35  阅读:134  来源: 互联网

标签:原则 SOLID Review Liskov WrittenReview 替换


[SOLID] — Liskov 替换原则

SOLID 原则是五个设计原则,旨在使面向对象编程中的代码易于理解、灵活和可维护。

里氏替换原则

如果 S 是 T 的子类型,则应将 T 替换为 S 而不会破坏应用程序。

让我们考虑电子商务服务示例中的相同 Review 类 单一职责原则 开闭原则 .

假设我将 Review 类扩展到 WrittenReview。

现在 Liskov 替换原则建议将类 Review 替换为类 WrittenReview,并且不应破坏任何内容。

但是,在这种情况下,使用 ReviewCalculator 计算平均评论(请参阅 单一职责原则 ) 将导致 NullPointerException,因为 WrittenReview 没有分数属性。

解决此类问题可能会很棘手。

  • 我们可以将 ReviewCalculator 更改为仅计算从 Review 扩展而来的 NumberReview 类的平均值。
  • 我们可以对类进行重构,以便类 Review 应该包含分数,并从名为 FeedBack 的接口继承它。 WrittenReview 的类名可以更改为WrittenFeedBack。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/2010/17383103

标签:原则,SOLID,Review,Liskov,WrittenReview,替换
来源: https://www.cnblogs.com/amboke/p/16641568.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有