利用设计模式是因为设计模式是其他开发人员的经验和智慧的结晶。GoF 的 23 种模式并不是空的理论,并不是脱离实际的教条。我们已经积累了很多的原则,比如面向对象中的封装、继承和多态、面向接口编程、优先使用组合而不是继承、将抽象和实现分离的思想等等,在设计模式中你总是能看到他们的影子,特别是组合(委托)和继承的差异带来系统在耦合性上的差别,更是在设计模式多次涉及到。而一些设计模式的思想在我们做系统的设计和开发中则是经常要用到的,比如说Template、Strategy模式的思想,Singleton模式的思想,Factory模式的思想等等,还有很多的模式已经在我们的开发平台中扎根了,比如说Observer(其实例为Model-Control-View模式) 是MFC和Struts中的基本框架, Iterator模式则在C++的STL中有实现等。
设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般。设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了 23 种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想融入到了你的思想中后,你就会不自觉地使用这种思想去进行你的设计和开发,这一切才是最重要的。
随着研究的深入,设计模式将进入全新的时代——元素模式,我个人理解元素模式将是GoF模式的分解和总结,将设计模式分为更小的子集,增加内聚减小耦合的有效方式。元素模式是按照GoF的格式描述出来的比GoF粒度更小的中间模式。
样章中介绍了本书中用三种不同的方式来描述元素模式:代码方式,图表方式和代数方式。可以说三者互为补充,又互相等价。
EDP这本书共分为两部分,第一部分讲述了why(为何而写),who(为谁而写),what(什么是EDP),where(来自何处);第二部分讲述how(怎么用)。
EDP作为构件,能够可靠而直接的描述其他设计模式。样章中介绍了EDP的产生的背景。样章中最有分量的应该是解释装饰器了。通过解释装饰器,形象生动的讲解了颗粒度的问题。书中通过UML的方式引出了对象标识符和对象递归很像装饰器的片段,进一步引出对象标识符可以看做是对象递归的一部分,使读者了解了EDP的初衷。接下来讨论了多种面向对象语言具备的特性:类类型。进而引出类型对类型的依赖关系。从依赖关系中导出了最小模式——方法调用。又因为所有方法调用都有一个语境即上下文关系,所以用对象、类型和方法的相似度来定义。从而构成了一个设计空间。接着又介绍了一组EDP:创建对象,检索,继承和抽象接口等。
读完样章,感觉元素模式是在设计模式和面向对象的基本概念之间找到一种平衡。给人一种“道可道,非常道。道不远人。”的参悟。
分享到:
相关推荐
《文旅小镇运营模式研究——以古北水镇和拈花湾为例》这篇文章深入探讨了当前中国文旅小镇的运营策略与成功案例,主要聚焦于古北水镇和拈花湾两个著名文旅项目的运营模式。这两处文旅小镇都是国内文化旅游业的典范,...
他的模式语言为设计师提供了创造性的思考路径,鼓励他们在设计时考虑人的活动、感受以及建筑与环境的共生关系。通过遵循这些模式,设计师可以确保建筑既符合功能性需求,又能体现地域特色、文化内涵和时代特征。 ...
- **4.4 为什么使用设计模式——从Singleton模式谈起**:这部分从Singleton模式出发,探讨了设计模式在软件开发中的重要性和必要性,以及如何正确地选择和使用设计模式。 #### 5. 附录 - **5.1 关于设计模式的思考...
【迭代——企业文化培训的思维转型与模式升级】 随着互联网和移动互联网的发展,用户主权时代的到来,企业文化的构建也需要适应这种变化,尤其是企业培训领域。"迭代"成为了关键,意味着不断更新、快速创新,以应对...
【标题】"jsp网络编程——源文件(12——13)"主要涵盖了JSP(Java Server Pages)技术在网络编程中的应用,这部分内容通常包括了第十二章和第十三章的知识点。JSP是Java平台上的动态网页技术,它允许开发者在HTML或...
"以真实情境促深度学习——以“溶液组成的表示”为例"这个教学案例,教师以洗鼻盐水这一生活实例作为教学情境,引导学生从生活中的实际问题出发,探索化学知识。情境的真实性促使学生积极参与,将所学知识应用于解决...
针对这一问题,文章提出了一种新的教学模式——基于成就激励的任务驱动式教学。 任务驱动教学模式源自建构主义学习理论,强调学生在特定情境中通过自我探索和合作学习来获取知识。在这一模式中,教师设计一系列具体...
1. 让幼儿初步了解圣诞节的习俗和庆祝方式,打破传统节日教育的说教模式,增强节日的趣味性和实践性。 2. 通过手工制作圣诞相关的物品,锻炼幼儿的动手能力和创新思维,提升他们的审美和制作技巧。 3. 在装饰环境的...
文章在“情感”部分强调,学生应在模拟项目中体会自我感受和他人感受,学会从旁观者转变为实践者和创新者,通过团队合作,撰写报告、展示成果,进行有效的沟通和交流。而“价值”部分则着重于培养学生的文档写作与...
【摘要】讨论的是现代智能手机APP如何影响中职数学教学,结合APP与教学模式,提升教育效果。文中通过实例展示了信息技术在教学中的应用,强调了APP的辅助作用。 【正文】 在当前信息化社会,智能手机APP已经深入到...
《Sea Wolf-V1.1——canvas+DOM游戏详解》 在Web开发领域,HTML5的引入为游戏开发开辟了新的天地。"Sea Wolf-V1.1"是一款利用HTML5的canvas技术和DOM元素构建的在线游戏,它在原有的基础上增加了诸多新特性,极大地...
《茅盾《蚀》三部曲翻译中"隐性神话模式"的再现》这篇论文深入探讨了中国现代文学巨匠茅盾的代表作《蚀》三部曲在翻译过程中的一个重要理论问题——"隐性神话模式"的再现。这篇论文旨在揭示在跨文化语境下,如何理解...
一份成功的营销计划会强调如何通过一致的品牌元素传达独特的价值主张,使咖啡厅在消费者心中留下深刻印象。 3. **社交媒体营销**:利用微博、微信、抖音等社交媒体平台进行内容营销,发布咖啡制作过程、新品推荐、...
随着互联网技术的快速发展,尤其是社交媒体和直播平台的兴起,农业电商正逐步探索出一种全新的模式——“特色人文 直播”农业电商。这种模式将传统的农产品销售与现代信息技术相结合,利用直播这种直观、互动的方式...
在这种模式下,教师通过创设情境、引入趣味元素、总结关键知识点和给予鼓励,帮助学生掌握基础数学概念。情景教学能激发学生的好奇心,趣味性则让学习变得生动,总结和鼓励则有助于巩固知识,增强学生的自信心。 ...
预览图“室内设计——奥地利风格酒吧设计.jpg”提供了设计的直观展示,让我们能够一窥酒吧的整体布局、色彩搭配以及装饰元素。图片中可能包含了奥地利传统元素,如阿尔卑斯山的轮廓、民族图案或音乐符号,体现了对...
在情景设计过程中模拟现实融入课程思政元素,让学生有身临其境的感觉,从而以某种情景角色和身份去体会和感受正确的世界观、人生观、价值观,并以此培育具有家国情怀、文化自信、职业素养和工匠精神等高素质的人才,...
当我们看到"ppt的能量——cpu电路创意艺术ppt模板.rar"这个标题时,我们可以感受到它所蕴含的创新理念与艺术融合的力量。CPU电路,作为电子技术的核心部分,与艺术设计相结合,形成了独特的视觉呈现,这样的PPT模板...
本次《建筑环境心理学调查研究报告——天津大学北洋广场调研》旨在深入探究建筑环境如何影响人们的行为模式、情感体验以及社会互动,特别是在大学校园这一特殊环境中。通过对北洋广场的实地考察和分析,我们可以了解...
例如,清晰的瞄准辅助线、反馈及时的点击响应、逼真的飞镖投掷动画等元素,都是为了让玩家感受到仿佛在实体飞镖盘前竞技的沉浸感。 不仅如此,为了增加游戏的趣味性和挑战性,该游戏可能还包含了多种模式和规则。...