首页 > 数据库 > 数据库开发技术 > 对软件设计原则的理解
答:软件产品是不断开发迭代的,软件的后期维护,如果需要修改原来的代码,会增加维护的成本,需要重写测试,理解原来作者代码的意图,如果不是原作者修改会容易引入bug。如果通过增加代码来实现新功能,这样就可以避免一些问题,减少成本。综上,就可以实现对扩展开发,对修改关闭的原则。
答:面向抽象编程,实现类之间不直接依赖,如果依赖实现,实现修改了,使用者也需要修改。
举个例子什么场景下需要考虑到单一职责原则为什么要考虑到它,如果没有单一职责给后期维护变更带来什么麻烦?
答:通过对接口,类,方法保持单一职责,后期的维护可以更加简单,降低变更代码的风险。比如一个登录功能,如果一开始里面包含了手机号登录,账号密码登录,微信登录,如果后期要加一个qq登录功能,则需要修改这个登录功能,如果一开始这些登录功能是互相独立的,则只需要加一个qq登录类。避免修改原来的代码。
答:接口隔离,将不同职责的接口进行隔离,实现不同功能接口解耦,客户端只关系需要的接口,这样可以满足高内聚,低耦合接口设计原则。
答:软件代码设计的过程中,需要分析不同的类的关系,避免不相关的类之间相互依赖
你怎么理解里氏替换原则,为什么要保证使用父类的地方可以透明地使用子类。要保证可以透明使用子类在哪些具体的场景需要注意。
答:子类必须实现父类的所有方法,子类重写/重载父类的方法可以放大入参范围,子类重写/重载父类的方法可以缩小出参范围
想一想为什么要多用组合少用继承。
答:首先java是单继承的,不够灵活,而组合可以多组合,灵活,继承会继承父类所有的方法和属性,而组合是可以选择需要的方法和属性。
软件设计原则可以规范我们的代码结构,有利于后期的系统开发维护,需要结合项目实际情况适度遵守设计原则,设计开发合理优雅的代码。
原文作者:服务端技术栈;如有侵权,请联系管理员删除。