Software entities should be open for extension,but closed for modification——Bertrand Meyer
对扩展开放,对修改关闭——“开闭原则”
例如:
你要设计一个类似联盟的APP,这个APP可以产生多种不同的发型,脸型,眼睛,但是未来用户还会有什么需求是我们目前不可知晓的,如何做到该软件可扩展而又不用牵一发而动全身呢?踏实肯干的人或许会信心满满的总结出一套自己的代码设计风格,但是,回首已千年。站在巨人的肩膀上成功,那也叫成功。何不借外力而为之,设计模式犹如太极拳的招式,要融会贯通到骨子里,却视乎又已经忘记了。使用却能信手拈来~~~
首先,什么是设计模式?
Design Pattern是一套被反复使用,多人知晓的,经过分类编目的,代码设计经验的总结。
为什么要使用设计呢?
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化。
有哪些设计模式?
设计模式分为三种类型,共23种。
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
相关推荐
6. **教学模式**:在中职计算机教学中,采用渐进式、循序渐进的教学策略,根据学生的能力分层教学,确保每个学生都能掌握基本技能,并逐步提升至高级技巧。 7. **项目教学法**:文中提及的项目教学理论,强调通过...
内容包括相对折射率和数值孔径的定义,光纤损耗的三大类型——吸收损耗、散射损耗、几何效应损耗,归一化频率(V参数)的计算,多模光纤的模式数目计算,单模传播条件,以及多模光纤中的畸变现象。掌握这些知识点...
本课件以白丽荣老师的精心设计为基础,分为总括特点、具体介绍、补充说明和层次结构分析四个部分。通过这一结构,学生们可以系统地了解松鼠的方方面面,并逐步深入地把握课文内容。 在总括特点部分,学生们首先了解...
- 理论贡献:马克思发现了人类历史发展的基本规律,即物质条件决定精神生活,以及资本主义社会的特殊运动规律——剩余价值理论。 - 实践贡献:马克思不仅出版进步报纸和小册子,还在巴黎等地的组织中工作,最重要...