软件设计模式,又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。
学习设计模式时,主要从下面4个方面入手:
①模式名称:以根据模式的问题、特点、解决方案、功能和效果来命名;
②问题:描述了该模式的应用环境,解释了设计问题和问题存在的前因后果,以及必须满足的一系列先决条件;
③解决方案:包括设计的组成成分、它们之间的相互关系及各自的职责和协作方式,提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象的 组合)来解决这个问题;
④效果:描述了模式的应用效果以及使用该模式应该权衡的问题,即模式的优缺点;