level 6
忘川流花
楼主
《设计模式:可复用面向对象软件的基础》第二章读后感
在第二章中,着重通过以例子的方式来指导着我们如何在项目中使用设计模式,并且依此构建更加健壮、可维护和可复用的软件系统。
在本章中,主要通过格式化作为切入段,通过修饰用户界面,作为切入点,5-8章的内容则主要是从:支持多种视感标准,支持多种窗口系统,用户操作以及拼写检查和断字处理这几个角度来介绍。
在这几章的阅读中,其实觉得和之前所学到的“针对接口编程,而不是针对实现编程”这一原则比较相似,接口定义了一种契约,它规定了类应该提供哪些方法,但不关心这些方法的具体实现。通过面向接口编程,我们可以实现代码的高度解耦,使得客户端代码只依赖于接口,而不是具体的实现类。这意味着,即使实现类发生了变化,只要接口保持不变,客户端代码就不需要修改。这种松耦合的设计方式大大提高了软件的可维护性和可扩展性。
对于书中阐述的支持多种视感标准,支持多种窗口系统,我觉得与“开闭原则”这一概念相类似。这一原则要求软件实体对扩展开放,对修改关闭。换言之,我们应该尽量通过添加新代码来扩展系统的功能,而不是通过修改现有代码。这一原则对于保持软件的稳定性和可维护性至关重要。在实际项目中,我们经常会遇到需求变更的情况。如果按照开闭原则进行设计,我们可以在不破坏现有功能的基础上,轻松地添加新功能,从而满足用户的需求。并且同时要关注基类和子类之间的行为兼容性。子类必须能够替换其父类,并且替换后系统的行为保持不变。这一原则确保了继承的正确使用,避免了因为继承而引入的潜在问题。在实际编程中,我们经常会遇到滥用继承的情况。在目前贴吧的旧代码中,经常会出现仅仅为了代码复用而盲目地使用继承,却忽略了继承可能带来的问题。为了支持多种场景固然重要,但在使用继承时,我们也要确保子类能够完全替代父类,并且不会破坏系统的原有行为。
2024年02月05日 11点02分
1
在第二章中,着重通过以例子的方式来指导着我们如何在项目中使用设计模式,并且依此构建更加健壮、可维护和可复用的软件系统。
在本章中,主要通过格式化作为切入段,通过修饰用户界面,作为切入点,5-8章的内容则主要是从:支持多种视感标准,支持多种窗口系统,用户操作以及拼写检查和断字处理这几个角度来介绍。
在这几章的阅读中,其实觉得和之前所学到的“针对接口编程,而不是针对实现编程”这一原则比较相似,接口定义了一种契约,它规定了类应该提供哪些方法,但不关心这些方法的具体实现。通过面向接口编程,我们可以实现代码的高度解耦,使得客户端代码只依赖于接口,而不是具体的实现类。这意味着,即使实现类发生了变化,只要接口保持不变,客户端代码就不需要修改。这种松耦合的设计方式大大提高了软件的可维护性和可扩展性。
对于书中阐述的支持多种视感标准,支持多种窗口系统,我觉得与“开闭原则”这一概念相类似。这一原则要求软件实体对扩展开放,对修改关闭。换言之,我们应该尽量通过添加新代码来扩展系统的功能,而不是通过修改现有代码。这一原则对于保持软件的稳定性和可维护性至关重要。在实际项目中,我们经常会遇到需求变更的情况。如果按照开闭原则进行设计,我们可以在不破坏现有功能的基础上,轻松地添加新功能,从而满足用户的需求。并且同时要关注基类和子类之间的行为兼容性。子类必须能够替换其父类,并且替换后系统的行为保持不变。这一原则确保了继承的正确使用,避免了因为继承而引入的潜在问题。在实际编程中,我们经常会遇到滥用继承的情况。在目前贴吧的旧代码中,经常会出现仅仅为了代码复用而盲目地使用继承,却忽略了继承可能带来的问题。为了支持多种场景固然重要,但在使用继承时,我们也要确保子类能够完全替代父类,并且不会破坏系统的原有行为。