
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
无论是设计原则还是设计模式都是需要软件编程开发程序员熟练掌握的一个互联网编程开发知识点,而本文我们就简单来了解一下,开闭原则应用都有哪些注意事项。
如果有了新产品,只需创建新的class对象,重写order()方法就可以了,不需要改动其他的代码;
如果order方法中需要其他参数,可以根据实际情况,在CatFood中添加相关属性。
是不是修改代码就违背开闭原则?
你可能会有疑问,我们为了完成新业务功能,不仅在CatFood类中添加了count属性,而且还添加了getter/setter方法,这难道不算修改代码吗?
先我们需要认识到,添加新功能的时候,我们不可能一点代码都不修改!其次,「开闭原则」的定义是软件实体(模块、类、方法等)应该对扩展开放,对修改关闭。对于count属性的添加而言,在模块或类的粒度下,可以被认为是修改,但是在方法的粒度下,我们并没有修改之前存在的方法和属性,因此可以被认为是扩展。
实际编码过程中怎么遵守开闭原则?
我的理解是不需要刻意遵守。
你只需要头脑中有这个印象就行了,你需要知道的就是你的代码需要具有一定的扩展性。所有的设计原则都只有一个终归宿——不破坏原有代码的正常运行,方便扩展。
随着你的理论知识和实战经验的提高,同时对业务有了足够了解,你在设计代码结构时会很自然地向未来靠拢(这需要稍加练习,这种技能不是单纯靠工作时长就能获得的),识别出未来可能会发生的扩展点。
但是想识别出所有可能的扩展点既不可能也没必要,合理的做法是对一些比较确定的、短期内可能会发生的需求进行扩展设计。
还是那句话,设计原则和设计模式不是金科玉律,只要适合当前需求,并具备一定弹性的设计就是好设计。要平衡代码扩展性和可读性,切勿滥用设计原则和设计模式,牺牲代码的可读性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。