`

学习设计模式困惑

阅读更多
     最近学习设计模式,对于我只有几个月工作经验的菜鸟来讲,真的是很吃力。吃力的原因不是看不懂书中所写的设计模式代码,而是就是知道这样设计模式,我怎样才能在现实工作中使用它,所以感觉很困惑。
      就拿代理模式来讲吧,一共有三个角色,一个代理角色,一个真实角色,一个是前两者的共同接口角色。代理角色是拥有真实角色的引用,并且可以在调用真实角色的前后做一些访问控制等工作。真实角色也就是真正的实现我们想要做事情的角色,我们只能通过代理角色来访问它。共同接口角色,有了它,我们就可以通过代理访问真实角色行为,像真实访问真实角色一样。
     使用代理角色好处有,让真实角色做自己应该做的事情,一些访问控制等事情,可以交给代理角色处理,这样符合OO的SRP原则。当代理角色和真实角色实现相同接口代理的好处,这样客户端通过代理角色访问,就像真实访问真实角色一样。针对接口编程,一旦代理对象实现有变,也不会影响到客户端的代码,符合面向对象编程原则。
这些原理通过书本都能明白。哎,现在难就难在遇到问题,怎么样才能想到用这种设计模式去解决问题。
分享到:
评论

相关推荐

    深度学习的教学设计模式.pdf

    深度学习的教学设计模式是一系列旨在通过分析教学内容、设计教学活动,以促进学生深度思考和学习的教学策略。东北师范大学教授马云鹏提出,在深度学习模式中,首先需要确定学习单元,这个单元可以是教材中的一个单元...

    设计模式基础学习 各种软件设计模式

    ### 设计模式基础学习——构建面向对象软件的艺术 在软件工程领域,设计模式是一种用于解决常见问题的模板或指南,特别是在面向对象编程中。本文旨在深入探讨设计模式的基础概念及其在软件开发中的重要性,根据给定...

    C设计模式_程序设计.rar C设计模式_程序设计.rar

    《C设计模式_程序设计》这本资源集合,不仅为C语言程序员提供了一个学习和应用设计模式的平台,而且在软件开发领域具有重要的地位和作用。设计模式作为软件工程的核心组成部分,它能够帮助开发者以一种标准化和系统...

    设计模式精解-GoF23_种设计模式解析

    作者回顾了自己学习设计模式的心路历程,从初学时的困惑和挑战,到逐渐掌握并能够在实际项目中灵活运用这些模式,最终达到了能够向他人传授知识的境界。作者认为,学习设计模式不仅是为了掌握一项技能,更重要的是...

    设计模式10大误解

    2. **困扰阶段**:开始接触设计模式,但由于缺乏经验而感到困惑。 3. **熟悉阶段**:逐渐熟悉设计模式,并能够在项目中正确地应用。 4. **受益阶段**:能够熟练运用设计模式,并从中获得实际的好处。 #### 六、总结...

    GoF+23种设计模式解析附C++实现源码.pdf

    通过对GoF的23种设计模式的学习和理解,我们可以深刻认识到这些模式对于提高软件质量和效率的重要性。每个模式都针对特定的问题提出了有效的解决方案,帮助我们更好地设计和构建高质量的软件系统。同时,通过实际的...

    设计模式--可复用面向对象软件的基础

    对于初学者来说,面对多种多样的设计选择可能会感到困惑,而设计模式为他们提供了一套经过验证的解决方案。有经验的开发者在遇到相似问题时可以直接应用这些模式,从而节省时间和精力。 #### 三、设计模式的核心...

    设计模式精解-GoF23种设计模式解析

    作者回顾了自己学习设计模式的过程,从最初的困惑和挑战到最终的领悟和应用,强调了实践的重要性。学习设计模式的过程不仅仅是理论上的理解,更是一种实践的过程,通过不断地实践才能真正掌握这些模式并将其应用于...

    设计模式(中文版)

    本书的初衷是将面向对象设计的经验提炼成设计模式,以便于后人学习与应用。每一个设计模式都被系统地命名、解释和评估,涵盖了面向对象系统中重要的、反复出现的设计问题。通过这种方式,设计经验得以记录并传承,...

    《设计模式》中文版1

    在描述中,作者强调了设计模式的重要性,指出有经验的设计师能够复用过去成功的解决方案,而新手往往在面对复杂的设计选择时感到困惑。设计模式就像小说中的剧情模式,如悲剧英雄或浪漫小说,它们是已知的结构,能够...

    软件设计模式

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的成熟、可复用的解决方案。这些模式是经过时间和实践检验的最佳实践,旨在...通过学习和应用设计模式,开发者能够构建更加高效、可维护的软件系统。

    学习困惑,打开高中数学深度学习大门的一把钥匙.pdf

    然而,深度学习并不是自然而然发生的,它需要教师精心设计教学过程,特别是在学生遇到学习困惑时,这些困惑可以成为推动深度学习的契机。 【学习困惑】在数学学习中,是常见且正常的现象。学习困惑不仅仅是学生遇到...

    设计模式.可复用面向对象软件的基础

    ### 设计模式——可复用面向对象软件的基础 #### 一、引言 设计模式作为软件工程领域的一个重要分支,其核心目标在于提高软件的复用性和灵活性。面向对象编程(OOP)作为一种广泛采用的软件开发方法论,在设计时面临...

    GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf

    作者强调了学习设计模式的过程中可能会遇到的挑战,例如初学者可能会感到困惑或难以理解抽象概念。但是,通过不断实践和深入研究,最终会达到“顿悟”的阶段,从而更加熟练地运用这些模式来解决实际问题。 #### 1. ...

Global site tag (gtag.js) - Google Analytics