[Design]设计模式 为什么要学习设计原则/模式

  首先来考虑一款软件系统的生命周期。任何事物都要经历两次创造过程,软件项目系统也不例外。系统设计师拿到系统的设计需求后,首先系统存在于设计者们的头脑中,然后存在于设计图纸上,然后变成原型系统,最后变成真实的、可以交付客户使用的产品。此时这款软件系统在客户、设计师和开发人员眼中就如天仙妹一样动人心弦。

     不久事情发生了变化,客户看到运行中的系统,提出一些“小小的”的修改要求,这些问题都是在系统设计需求中遗忘的。由于设计需求遗忘,设计者们只好采用一些权宜之计来满足客户的修改要求。这样一来仙妹就长了几个“青春痘”。时间一长“青春痘”越来越多,当这些“青春痘”当成了系统的重要组成部分后,此时这款系统软件的生命就应该结束,成了一堆腐烂的代码了。

    为什么提点“小小的”修改就会成这样呢? 原因当然很多,试想如果系统的可扩展性和可维护性做的好点,原设计者和维护者有一定的沟通,软件的生命周期可能会更长些。

    因此出现了一个重要概念:支持可维护性的复用,也就是保持甚至提高系统的可维护性的同时,实现系统的复用。面向对象设计的复用可以帮你抓住这两只同事奔跑的兔子。然而在面向对象设计里,可维护性复用是以设计原则和设计模式为基础的。如果原设计者和维护者,都对面向对象设计有一定的理解的话,那么无形中就会达到一种潜意识的沟通。



原文地址:https://www.cnblogs.com/abeen/p/1390841.html