Java面向对象的八大原则(部分打破八大原则的场景)

本文讨论了Java编程中面向对象的八大原则在实际项目开发中的应用与违背情况。虽然理论上这些原则被视为最佳实践,但在实际工作中,开发者往往会根据具体业务场景灵活调整,有时会打破这些原则,以实现更高效和实用的代码设计。例如,单一职责原则在某些情况下可能被合并功能的接口所违背,里氏替换原则在子类引入新方法时难以完全遵循,而接口隔离原则则可能因业务需求而妥协。
摘要由CSDN通过智能技术生成
面一家很老的电力公司问到的,那个四十多岁的戴金丝框眼镜的老头盯着一个面试文档一句一字的问概念,就问到这个问题,我真的是服气了,他自己都肯定记不住,但是却要求面试者完全背熟这些概念性的问题。
说句实在的,在实际项目开发中,没人会抠着这八大原则的字眼去写业务代码,我们都会大概知道有这么个约束,就自然而然地写,并且很多大公司的接口设计,也是有一定程度上打破这些原则的。

(1)单一职责原则

每一个类甚至每一个接口都只负责完成一个业务操作。比如我们一开始写demo时候,deleteById(int id )就是严格遵循了这个原则。
打破:
那么我要根据名称删除或者根据性别删除,难道还要写多个?但是这样明显不太符合实际开发,于是就有了deleteByType(int type , Param)这种,根据type来区分要删除的内容。截止到目前,这个接口还是遵循的,只负责‘删除‘的操作。
再次升级:新增一个用户,updateUser(id , param) ,这个之所以不写add,是因为我们把update也放进去了,nest.js的一个持久层就是这么做的,先根据这个ID找,由于是主键索引,速度非常快,如果找到,就代表是更新,如果找不到,就代表是新增用户,那么这个接口或者类,就是完全打破了单一职责原则。

(2)里氏替换原则

就是父类可以存在的地方,替换成子类也可以。
子类存在的地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值