1. 设计模式之学习思维:如何正确学习设计模式

一、对设计模式常见的误解

在工作中,你可能常常会发现,很多人将 Java 设计模式、大学里学的高等数学和编译原理等,视为脱离实际工作的知识。

但不管是面试还是实际工作中,你是不是又经常听到大牛前辈们给你“洗脑”,说设计模式很重要?为此你可能还专门买书或参加培训学习过,可往往都因为应用效果不佳,从开始的很重视,到后来慢慢地习惯性忽略,最后在你心中它的重要程度可能还远不如明天要交差的需求。

相信我,你并不孤单。

在过去很长的一段时间里,我也曾和你一样,反复地在内心挣扎,徘徊在学与不学的矛盾里,并且时不时还有这样一些困惑:

  • 在面试中时常被问到设计模式,可实际工作中却很少使用;

  • 每个模式的样例代码都很熟悉,实际编码时却总感觉力不从心,实现困难;

  • 很多系统设计看上去和很多模式都很像,却不知道到底该用一个模式,还是多个模式;

  • 设计模式除了在编码阶段有用外,在设计上似乎用处并不大。

工作多年后,我回过头再来看,其实,当时这些困惑的关键并不在于设计模式过于抽象或应用有难度,而在于我可能从一开始就没有搞清楚设计模式的应用范围和背景:设计模式到底解决什么问题?为什么要抽象这样的场景?又是如何解决这些问题的?

正因为没有搞清楚这些应用范围和背景,才导致大多数时候我们总是在“生搬硬套”设计模式,以为在应用设计模式,却不知道还没入门就一直在误解设计模式,并无法控制地胡乱使用,最后反而引入了很多不必要的麻烦。

因此,要想学好设计模式,就得摘去这些误解。

误解一:经典模式太抽象,很难学下去

说到设计模式,你的第一反应是不是会想起“四人帮”GoF 的那本“经典”著作《设计模式:可复用面向对象软件的基础》?或者想起那 23 个“经典”的模式?

的确,设计模式太过于经典了,但是经典也会带来一个问题:过于抽象,难以快速理解。而对于业余时间本就不多的你来说,读抽象的经典更是一件难上加难的事。

比如说,下面是《设计模式》一书中关于访问者模式使用场景的描述:

一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。

需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。Visitor 使得你可以将相关的操作集中起来定义在一个类中。 当该对象结构被很多应用共享时,用 Visitor 模式让每个应用仅包含需要用到的操作。

定义对象结构的类很少改变,但经常需要在此结构上定义新的操作。改变对象结构类需要重定义对所有访问者的接口,这可能需要很大的代价。如果对象结构类经常改变,那么可能还是在这些类中定义这些操作较好。

你会发现,即便很认真地阅读完,也看得似懂非懂,看上去似乎能和实际场景有一些结合,但真到了实际的设计和编码中时,却发现无从下手。为什么呢?

  • 首先,针对访问者模式使用场景,这一段描述太长了,你阅读完得花上几分钟,然后再想几分钟,并且还掺杂了一些别的概念,查阅资料又得花费几分钟甚至几小时。

  • 其次,表述太抽象。其中关于操作“污染”、不相关操作、不同的接口、改变对象的结构等,不同的人可能定义完全不同,就会导致在不同的真实场景中应用时千差万别。

  • 最后,23 个设计模式都有类似这样的使用场景描述。要想保证团队中不同的人,对这样抽象的描述保持高度统一的认知,并且记住大致场景,还得理解差距不大,这必定很耗费沟通和学习时间。

最为关键的是,当你面对真实的业务需求时,如何才能快速选择最合适的设计模式?这个问题依然没有被解答。

其实,经典之所以太抽象,是因为包含的知识密度太高,需要花时间解读。 比如说,在实际业务中,我们其实更关心:设计模式到底如何落地实践?不同的设计模式之间有哪些共性和独特性?有没有真实的代码示例?等等。也就是说,我们需要先搞清楚设计模式能解决哪些范围的问题后,才能正确使用设计模式

实际上,在设计模式提出之初就已经说明,也就是《设计模式》一书的副标题:可复用面向对象软件的基础。设计模式解决的是“可复用”的设计问题,而类似可靠性设计、性能设计、安全性设计、可服务性设计等都不是设计模式能够解决的。

简单来说,设计模式从不同项目中总结出来的通用经验,是为了帮助我们快速理解现有的系统,并从中找出共性规律,如果没有足够的经验或者思考,反而容易引入错误的设计,造成更多的麻烦。

所以说,“经典太抽象”只是一个事实,只要你能肯花时间认真解读,学下去并不难。

误解二:设计模式太单一,复杂业务场景难落地

现在,对于设计模式,有两个非常有意思的现象。

  • 在理论学习中,几乎所有的开发人员都认为它很重要比如,目前国内大多数的技术面试都会考查设计模式的相关知识点;再比如,在实际工作中,越来越多的程序员们或多或少都会在自己的项目中引入开源框架,由于开源框架中都会用到设计模式,渐渐地设计模式又被大家重新拿出来学习。

  • 在工作实践中,绝大部分开发人员在项目中又找不到合适的应用场景比如,如何设计一个安全权限控制系统?如何设计容灾方案?从实际场景来看,设计模式似乎只能解决技术层面上的问题,业务上完全派不上用场。

其实,发生这个冲突的关键点在于:没有搞清楚设计模式解决问题的范围所在。换句话说,设计模式并不是一种全场景的解决方案,它需要考虑适用范围

比如,在面向对象语言 Java 领域中,如何最大限度发挥面向对象语言的继承与组合的威力?如何解耦程序的相互依赖?设计模式会提供一些解答。

如果说你现在接到的是一个复杂系统的设计任务,比如,如何设计一个秒杀系统?你不仅需要关心业务功能的实现,还要关心不同开发成员间的相互配置、服务器资源等,而此时你的脑海中浮现设计模式中的适配器模式、策略模式、状态模式……对你来说帮助并不那么明显,因为你其实还没有到如此需要细节实现的阶段。

实际上,设计模式的提出就是为了解决限定领域的有限问题 比如,针对非业务场景的技术框架,如何实现可复用的软件?如何能够为更多的人提高编程效率?像 Spring、Netty、MyBatis、JDK 等大家公认的工具,其实随处可见设计模式的应用,但同时并不是只有设计模式本身。

所以说,你不能把设计模式当作一种通用解决方案来对待,或者认为它就应该解决超出范围的问题,一定要考虑好它的适用范围,否则问题是得不到有效解决的。

误解三:模式既然很好用,那么一切皆模式

比如,你可能会说:

  • 设计模式既然是能直接套用到某种场景的解决办法,不应该现实场景中应用很少;

  • 设计模式既然是能用来解决面向对象设计的理论模型,不应该性能设计、安全设计用不上;

  • 设计模式既然是统一的沟通语言,不应该有人还不知道或不喜欢;

  • ……

上面这些其实就是“愿望思维”,而且是逻辑错误的。

Java 设计模式原本是从不同的编程项目中总结出来的通用经验,是现存的既定事实,能解决很多工具、组件、框架复用的问题。比如说,你经常使用的 Spring 框架里,从工厂模式、原型模式,到代理模式、门面模式,再到观察者模式等,在其源码中随处可见。

于是,很多人就认为编程时应该处处使用模式,并且用得模式越多,设计就越好。事实上,好的设计从来不是看用的模式有多少,而是看如何合理利用模式的设计思想,以及如何利用模式解决真实的问题。

比如,我曾经在负责一个网关系统时,就陷入过“模式综合征”,那时的我无时无刻不在想该如何使用各种模式,即便是一个小的过滤规则模块,我也想着能不能使用责任链模式,而实际上那个需求只需要简单的白名单就能解决。最后的结果当然就是代码变得更复杂、更难以维护,并导致大量重构和沟通工作涌现。

所以说,学习设计模式是为了启发我们的思考,而不是“手里握着锤子,满世界找钉子”。

 二、如何正确学习设计模式

难道设计模式真的不好用?或者根本已经成为过去式?其实争论的焦点不应该在于设计模式本身是否有用,而是我们到底有没有掌握正确的学习方法和应用设计模式的思维模式。

那该如何让经典真正为我所用呢?有以下四个很简单的方法。

首先,要摆正心态 设计模式不是万能灵药,不是银弹,设计模式能解决的问题其实是有限的,你应该始终保持一个平常的心态,正确分析设计模式可以解决和不能解决的问题。不过,模式解决的问题虽然是有限的,但能激发你的想象和灵感,从中获取更多有用的信息来解决更多的问题。总之,放弃争论设计模式的有用性,花更多的时间去学习和实践,不要总想着不思考直接使用。

其次,搞清楚设计模式的背景知识 比如,设计模式如何定义?设计模式的历史演进与变化?设计模式有哪些适用的领域?又有哪些不适用的领域?如何结合实践分析和使用?学习一门知识时,如果总是忽略关联的背景知识,久而久之会养成零碎知识积累的习惯——收藏了很多资料,拆解、吸收却很少。而在学习关联知识时,你会发现,原来的知识会逐渐连接和串联起来,这是一个事半功倍的动作。

再次,努力具备高手独立思考的习惯。互联网时代,不缺资料和方法,缺的是能解决复杂难题的高手。高手之所以成为高手,是因为高手不拘泥于某一知识的高低贵贱,而是保持明智的判断,始终朝着坚定的目标前行。你的身边一定有这样的隐藏高手,他们在面对复杂难题时,总是能保持清晰的头脑,谦虚并具备独立思考的习惯,你应该多多向他们学习。同样,你还需要花时间去刻意练习,在失败和挫折中探索真实的能力长什么样,并借此不断强化你的能力。

最后,从现在开始,坚持 学习技术知识,不比看文学小说,需要面对更为枯燥的业务场景,有时还需要反复做一些你可能不太喜欢的重复工作。但只有坚持才能成长,才能锤炼出属于你自己的真实能力。大多数时候我们都更容易半途而废,可是要想突破瓶颈,提升能力,升职加薪,如果没有付出与努力,那么当机会真的到来时,你很可能会抓不住。因此,一定不要中途放弃,一定要坚持住。

三、总结

要谨记:设计 ≠ 编码,愿望 ≠ 事实

不要看了很多年源码,做了很多年工作,却依然做不好设计和编码。知道很多 How 时,一定还要多想想 Why 和 What。

学习设计模式的关键不在于你熟练掌握了多少设计模式,而在于能否真正灵活运用来解决更多复杂的现实问题。比如,在构建 API 网关时,你是否能借鉴访问者模式或门面模式里的精髓?在设计一款数据分析应用时,你能否不用设计模式,而专注于数据分析本身?

另外,你在学习设计模式时,不要太过于关注那些“无用论”,而应该多去发现“有用”的地方,让这些“有用”的地方来滋养你的思维,因为你的目的是要解决真实世界的困难问题,而不是为了在设计模式到底有没有用上争输赢。

就像你不能立即解决生活中的所有问题一样,设计模式同样不能解决这个世界上的所用问题,但是,只要你对设计模式进行不断地钻研与思考,设计模式就能带给你源源不断的新灵感和新希望

四、课后思考

在开始学习经典的 23 种 Java 设计模式之前,你有了解过其他哪些经典的设计模式呢?


 ----------  创作不易,感谢大家,请多多支持!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
01.第阶段:基础阶段和产品思维 1互联网思维 1-互联网基础思维1.mp4 2-互联网基础思维2.mp4 3-互联网基础思维3.mp4 4-互联网基础思维4.mp4 5-互联网思维之用户思维1.mp4 6-互联网思维之用户思维2.mp4 7-互联网思维之简约思维.mp4 8-互联网思维之极致思维.mp4 9-互联网思维之迭代思维.mp4 10-互联网思维之流量思维.mp4 11-互联网思维之社会化思维.mp4 12-互联网思维之大数据思维.mp4 13-互联网思维之平台思维.mp4 14-互联网思维之跨界思维.mp4 互联网思维.xmind 2互联网产品商业模式 1-互联网产品商业模式1.mp4 2-互联网产品商业模式2.mp4 3-互联网产品商业模式3.mp4 4-互联网产品商业模式4.mp4 5-互联网产品商业模式5.mp4 6-互联网产品商业模式6.mp4 3产品的商业模式画布 1-产品的商业模式画布1.mp4 2-产品的商业模式画布2.mp4 3-产品的商业模式画布3.mp4 4-产品的商业模式画布4.mp4 5-产品的商业模式画布5.mp4 6-产品的商业模式画布6.mp4 商业模式画布.xmind 4竞品分析 1-竞品分析是什么.mp4 2-为什么要竞品分析.mp4 3-竞品分析对象选择.mp4 4-竞品分析渠道和内容.mp4 5-SWOT竞品分析.mp4 6-$APPEALS竞品分析.mp4 7-竞品分析ppt形式.mp4 8-竞品分析word形式.mp4 竞品分析.xmind 5深入理解产品经理 1-产品思维.mp4 2-产品思维案例1.mp4 3-产品思维案例2.mp4 4-产品思维案例3.mp4 5-产品的生产流程.mp4 6-正确认知产品经理.mp4 产品生产流程.png 深入了解产品经理.xmind 6思维导图 产品经理常用工具 1-思维导图的概念与原理(1).mp4 1-思维导图的概念与原理.mp4 2-思维导图的绘制方法.mp4 3-思维导图在产品经理工作中的应用.mp4 4-思维导图软件介绍-Mindmanager.mp4 5-思维导图软件介绍-Xmind.mp4 02.第二阶段:产品经理的工作方法及应用 1产品经理原型设计工具Axure使用基础 1-认识Axure.mp4 2-Axure操作界面.mp4 3-动态面板.mp4 4-创建部件库.mp4 5-交互设置.mp4 6-变量.mp4 7-Web案例1.mp4 8-Web案例2.mp4 9-手机原型案例.mp4 PM的3大文档.xmind 2流程图 1-流程图基础.mp4 2-要关注的流程图.mp4 3-要绘制的流程图.mp4 4-如何绘制流程图.mp4 5-任务流程图.mp4 6-页面流程图.mp4 7-绘制流程图的思路和工具.mp4 8-Axure绘制简单业务流程图.mp4 9-Excel绘制甘特图.mp4 10-Visio绘制泳道图.mp4 11-PPT绘制页面流程图.mp4 12-Axure绘制页面流程图.mp4 PM的逻辑工具流程图.xmind 3需求分析及BRD 1-产品需求管理.mp4 2-产品需求池.mp4 3-产品需求分析.mp4 4-产品需求分析总结.mp4 5-商业产品文档1.mp4 6-商业产品文档2.mp4 7-商业产品文档3.mp4 8-商业产品文档4.mp4 需求思路.xmind 4市场需求文档MRD 1-版本管理.mp4 2-目标市场分析.mp4 3-目标用户分析.mp4 4-核心目标-产品构成.mp4 5-Roadmap及规则.mp4 5产品功能需求文档PRD 1-功能列表.mp4 2-功能详细说明.mp4 3-页面结构图.mp4 4-用例和规则.mp4 5-原型图.mp4 6-其他需求.mp4 7-案例总结.mp4 03.第三阶段:产品进阶课程 1数据分析 1-数据分析思路.mp4 2-定性定量数据分析.mp4 3-数据分析步骤.mp4 4-数据来源.mp4 5-关键数据-转化率.mp4 6-关键数据-任务完成率.mp4 7-关键数据-用户数据与产品阶段.mp4 8-层次分析法1.mp4 9-层次分析法2.mp4 10-数据透视表.mp4 数据分析.xmind 2产品运营 1-产品运营理念和基础.mp4 2-用户运营.mp4 3-内容运营.mp4 4-活动运营.mp4 5-产品营销推广.mp4 6-运营活动策划.mp4 产品运营.xmind 3Web端产品设计 1-以用户为中心的产品设计1.mp4 1.jpg 2-以用户为中心的产品设计2.mp4 2.jpg 3-产品设计的层次.mp4 4-产品设计-交互设计.mp4 5-产品设计-视觉设计.mp4 产品设计.xmind 04.第四阶段:项目实战训练 1从零打造款社区web产品 款web社区产品.mp4 2从零打造款工具app产品 款工具app产品.mp4 3怎么做款O2O互联网产品 款O2O产品.mp4 05.第五阶段:选修课程 1互联网发展和基础 1-我们身处的互联网时代.mp4 2-产品经理挂在嘴边的概念和指标1.mp4 3-产品经理挂在嘴边的概念和指标2.mp4 4-产品经理挂在嘴边的概念和指标3.mp4 5-产品经理挂在嘴边的概念和指标4.mp4 6-互联网历史及产品1.mp4 7-互联网历史及产品2.mp4 8-互联网历史及产品3.mp4 9-从腾讯QQ发展看产品1.mp4 10-从腾讯QQ发展看产品2.mp4 2互联网产品及产品经理 1-互联网产品与好产品.mp4 2-多维度产品拆解1.mp4 3-多维度产品拆解2.mp4 4-多维度产品拆解3.mp4 5-多维度产品拆解4.mp4 6-产品经理你是谁.mp4 7-产品经理升级之路.mp4 8-PM VS PM.mp4 4产品经理内功修炼 1-需求的本质-产品的类型.mp4 2-需求的层次.mp4 3-需求层次的规律.mp4 4-殿堂级的设计原则.mp4 5-数不清的设计原则.mp4 6-产品设计的黄金定律.mp4 7-标签导航-舵式导航-抽屉导航.mp4 8-宫格导航-组合导航-列表导航-tab导航.mp4 9-轮播导航-点聚导航-瀑布导航.mp4 10-为什么要扁平化.mp4 11-扁平化交互设计技巧(上).mp4 12-扁平化交互设计技巧(下).mp4 13-产品动效设计的作用.mp4 14-产品动效设计的注意事项.mp4 15-明确原则.mp4 16-商业化平衡用户体验的方法(上).mp4 17-商业化平衡用户体验的方法(下).mp4 18-H5页面的类型.mp4 19-H5页面的形式.mp4 20-H5页面的设计技巧.mp4 21-H5页面用户行为报告(1).mp4 21-H5页面用户行为报告.mp4 22-消费者购买决策模式.mp4 23-减少用户心理犹豫的方法(上).mp4 24-减少用户心理犹豫的方法(下).mp4 25-解构用户场景.mp4 26-用户场景指导产品设计.mp4 27-感受极致的体验.mp4 28-产品极致体验的方法.mp4 5产品经理不再纸上谈兵 1-什么是产品定位.mp4 2-如何确定产品定义.mp4 3-如何确定用户需求.mp4 4-用户画像含义和作用.mp4 5-如何构建用户画像.mp4 6-用户画像的颗粒度.mp4 7-人人互动.mp4 8-人机互动.mp4 9-默认头像设计策略(上).mp4 10-默认头像设计策略(下).mp4 11-APP表单设计技巧(上).mp4 12-APP表单设计技巧(下).mp4 13-评论排序的模式.mp4 14-评论排序的规律.mp4 15-编写好文案的方法(上).mp4 16-编写好文案的方法(下).mp4 17-原生APP和微信的关系.mp4 18-工具类产品迁移微信公众号的条件.mp4 19-APP登录的理由和时机.mp4 20-APP登录页的设计方法.mp4 21-PM在不同生命周期的工作(上).mp4 22-PM在不同生命周期的工作(下).mp4 6产品经理的自我修养 1-APP图片排版样式(上).mp4 2-APP图片排版样式(中).mp4 3-APP图片排版样式(下).mp4 4-输入错误页面设计.mp4 5-访问错误页面设计.mp4 6-推送的优劣和原则.mp4 7-推送的方法.mp4 8-推送的注意事项.mp4 9-微信的产品价值观.mp4 10-微信的产品设计原则(上).mp4 11-微信的产品设计原则(下).mp4 12-Apple Watch的设计注意事项(上).mp4 13-Apple Watch的设计注意事项(中).mp4 14-Apple Watch的设计注意事项(下).mp4 15-产品经理面试重点问题解析(上).mp4 16-产品经理面试重点问题解析(下).mp4 7产品经理从专能到全能 1-解构用户体验.mp4 2-提高用户体验的方法.mp4 3-解析屏幕尺寸、分辨率及像素密度.mp4 4-三者关系及屏幕清晰度.mp4 5-尺寸及分辨率的设计规范.mp4 6-界面布局及字体规范.mp4 7-颜色、弹层及loading的设计规范.mp4 8-图标按钮及空白页的设计规范.mp4 9-IOS用户授权模式(上).mp4 10-IOS用户授权模式(下).mp4 11-活动准备阶段的工作.mp4 12-活动策划阶段的工作.mp4 13-活动开发和收尾阶段的工作.mp4 14-产品战略竞争方法(上).mp4 15-产品战略竞争方法(中).mp4 16-产品战略竞争方法(下).mp4 8学习UX第季-轻松入门 1-开场白.mp4 2-案例设计师的天.mp4 3-什么是用户体验.mp4 4-什么是用户体验设计.mp4 5-企业中的用户体验设计师.mp4 6-用户体验设计师成长之路.mp4 7-用户体验设计流程.mp4 8-为谁设计.mp4 9-设计什么之用户场景.mp4 10-设计什么之用户需求.mp4 11-设计目标.mp4 12-如何了解用户:聊天.mp4 13-如何了解用户:看数据.mp4 14-案例使用Axure制作网页原型.mp4 15-案例使用Axure制作移动应用原型.mp4 16-什么是信息架构.mp4 17-如何组织信息.mp4 18-信息架构图.mp4 19-页面流程图.mp4 20-交互设计原则.mp4 21-设计模式:操作方式.mp4 22-设计模式:常见控件.mp4 23-设计模式:导航和搜索.mp4 24-设计模式:任务.mp4 25-设计模式:浏览.mp4 26-原型设计.mp4 27-案例制作高大上的演示图标.mp4 28-视觉设计.mp4 29-排版.mp4 30-色彩.mp4 31-可用性测试.mp4 32-如何做简单的可用性测试.mp4 33-设计评审.mp4 34-交互设计师的未来.mp4 9热门产品分析 1-在线旅游行业发展现状分析.mp4 2-在线旅游APP需求分析.mp4 3-在线旅游热门APP产品分析(上).mp4 4-在线旅游热门APP产品分析(下).mp4 5-在线音乐行业发展现状分析.mp4 6-在线音乐APP用户分析.mp4 7-在线音乐热门APP产品分析(上).mp4 8在线音乐热门APP产品分析(下).mp4 9-外卖行业发展现状分析.mp4 10-外卖APP用户需求分析.mp4 11-外卖产品热门APP产品分析(上).mp4 12-外卖产品热门APP产品分析(下).mp4 13-O2O团购行业发展现状分析.mp4 14-O2O团购APP需求分析.mp4 15-O2O团购类热门APP产品分析(上).mp4 16-O2O团购类热门APP产品分析(下).mp4 17-在线电影票行业发展现状分析.mp4 18-在线电影票APP需求分析.mp4 19-在线电影票热门APP产品分析.mp4 20-互联网新闻资讯行业发展现状分析.mp4 21-新闻客户端用户需求分析.mp4 22-新闻类热门APP产品分析(上).mp4 23-新闻类热门APP产品分析(下).mp4 24-移动电台行业发展现状分析.mp4 25-移动电台需求分析.mp4 26-移动电台热门APP产品分析(上).mp4 27-移动电台热门APP产品分析(下).mp4 28-互联网地图行业发展现状分析.mp4 29-手机地图APP用户需求分析.mp4 30-手机地图热门APP产品分析.mp4 31-手机百度产品分析.mp4 32-支付宝产品分析.mp4 33-微信产品分析.mp4
创建"个性化"元件库 教 案 专业名称 电子信息工程技术专业 课程名称 电子CAD 课程分析 《电子CAD》课程是我校电子信息工程技术专业的专业技能方向课程,是一门专业性极 强的课程,与技能竞赛、顶岗实习以及就业联系密切。根据本专业实施性人才培养方案 ,本课程为电子信息工程人才培养打定基础,侧重于培养适应电子信息工程专业的高素 质技能型专门人才,其前导和后续课程如图1所示。 图1 前导后续课程 本课程的总体目标是让学生熟练使用电子CAD软件,培养学生独立制图能力,使学生 不仅具有熟练绘制原理图和基本设计能力,还具有分析电路和识图的能力,并养成诚信 、刻苦、善于沟通和团队合作的职业素质,成为符合电子绘图员、电子工程师、无线电 调试工、程序员等社会岗位需求的电子工程类职业技术人才。 "课 题 基 本 信 息 " "课程 "电子CAD "项目名称 "创建"个性化"元件库 " "授课班 "16电子联五 "教学时数 "1课时 " "级 " " " " "教材 "《电子CAD—项目教程》 " "课程教学理念 " "本课分为九个项目,整本书以项目式教学为主导,创建情境,坚持教做合一的 " "教学理念。让学生感知本软件使用方法,把知识从抽象转化为具象。组织引导 " "学生,启发疑问,让学生充分理解本软件的使用方法。通过反复练习、小组讨 " "论,让学生在实际练习中把知识内化。通过讨论实践、总结反馈让学生把相关 " "联的知识集合起来,做到循序渐进,触类旁通。 " "教材分析 " "本课程选用的教材是职业教育示范性规划教材——《电子CAD—项目教程》一书,该 " "教材由电子工业出版社出版,江苏省泰兴中等专业学校刘海燕、阚海辉老师主 " "编。 " "教材特色:本教材主要面向电子工程类初、中级学者,以及对于电子专业知识 " "有一定掌握的学者。本教材从强调操作性和实用性的角度,将项目中的各种绘 " "图技巧、经验方法等有意识地进行整合,合理项目式教学,以"案例驱动"为主 " "线,通过对案例的实际操作,由浅入深、循序渐进的介绍电子CAD软件的绘图技" "巧以及设计思路。本教材针对职校学生的兴趣爱好、学习能力以及技术水平编 " "写而成,知识点全面,讲解详尽。主要侧重于电子CAD软件的绘图基础知识与基" "本方法,通过项目式,对学生的学习有很好的指导与帮助作用。 " "教材处理:本课程作为专业技能主要课程,随着校企合作的不断深入,企业需 " "求与教学目标逐渐融合,联系企业实际项目进行教学的优势逐渐突显。本教材 " "中的案例贴合实践经验,但是模块划分稍显不足。为弥补这一不足,我对教材 " "内容进行了整合,将教材的知识点与本软件实际的操作使用,按本软件的操作 " "使用进行模块化分解,本教材设计了由易到难的九个工作项目,我将其中八个 " "项目进行了适合学生学习的模块化划分。如图2所示 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "图2 教材处理 " "教材作用:教学中,本教材都以项目案列进行教学,具体按照模块划分进行系 " "统的学习。在此过程中,教材发挥着不可或缺的作用,教材案例侧重于教学项 " "目,而模块划分侧重于学生学习本软件的学习思路。学习本软件的模块化划分 " "学习思路是固定不变的,配合本书的项目式教学,有效促进学生的学习方法。 " " " " " " " " " " " " " " " " " " " " " " " "学生情况分析 " "¤ 一般特征 " "教学对象为五年一贯制三年级16电子联五班的学生。学生平时社团活动内容丰 " "富,思维较活跃,学习中表现出很高的热情与浓厚的兴趣。日常教学,学生喜 " "欢互动,参与性强。在教师正确的引导下,学生在学习过程中能够积极思考, " "自主学习,主动尝试与创新。两年多年的共同学习和生活,他们彼此有了深入 " "的了解,在课堂学习中具备一定小组合作的能力。当然,他们也存在职业教育 " "的普遍性问题,学习的自觉性和耐久性较差,即学即忘,个性差异大。因此在 " "教学中需要综合各种教学方法,让学生人人参与,因材施教,提升教学绩效。 " "¤ 初始能力 " "学生已经熟悉项目化教学模式;掌握了软件工作界面的初始环境;具备初步的 " "绘制原理图能力。 " "¤ 情感态度 " "学生养成了积极健康的学习态度,师生关系融洽,但职业定位尚不明确,团队 " "合作意识有待提高。 " "依据标准(课程标准) " "根据课程标准的要求,将知识点与能力培养要求确定为: " "¤ 知识点和教学要求 " "知识点: " "1.原理图库的原理; " "2.七段数码管的制作方法; " "3. ROM存储器M27C64A20F1制作方法
体验计算机解决问题的过程教学设计-全文共6页,当前为第1页。体验计算机解决问题的过程教学设计-全文共6页,当前为第1页。3.1 体验计算机解决问题的过程 体验计算机解决问题的过程教学设计-全文共6页,当前为第1页。 体验计算机解决问题的过程教学设计-全文共6页,当前为第1页。 教学内容分析 本节课内容选自粤教版信息技术必修一第三章《算法基础》第一节,内容上衔接了上一章节,是数字化创新学习的具体体现,同时也作为今后学习编程的知识铺垫与技能准备。在教学过程中,以培养信息素养为目标,以知识技能为载体,以项目式学习活动为途径,开展自主、协作、探究学习,让学生通过解决实际问题,体验并对比人工和计算机解决问题的过程,并进一步总结、归纳计算机解决问题的一般过程。 教学对象分析 本节课授课对象是高一年级的学生,我校高一年级包含本地生和西藏生两部分生源。相对来说,本地学生具有较好的计算机操作基础,并且在小学阶段和初中阶段,学习了scratch编程、机器人编程及VB等相关知识,所以已经具有一定的编程基础,但在西藏学生当中,还存在一部分新生甚至无法顺利使用键盘输入自己的名字,计算机技术水平严重参差不齐,这给本校的信息技术日常授课带来了不小难度。针对这一现象,本节课我采取了以教学分层、项目引领、小组帮扶相结合的模式,从实际生活出发,带领学生一步一步厘清计算机解决问题的一般过程。 教学目标 知识与技能: 通过对人工解决问题的一般过程的分析,对比和迁移认识计算机解决问题的过程。 总结、归纳、掌握计算机解决问题的一般过程。 过程与方法: 通过解决实际问题,体验计算机解决问题的过程。 通过案例实操,让学生学会运用编程环境,调试和运行程序。 通过情境创设,让学生利用计算机解决数学问题,实现学科融合。 情感态度价值观: 培养学生在日常学习生活中使用计算机解决问题的意识。 通过本地生及西藏生之间建立学习帮扶小组,增强学生民族团结意识。 通过课堂评价,让学生了解自身不足,在今后学习中迎难而上。 教学重难点 教学重点: 了解人工解决问题以及计算机解决问题的一般步骤。 体验计算机解决问题的过程教学设计-全文共6页,当前为第2页。体验计算机解决问题的过程教学设计-全文共6页,当前为第2页。通过解决实际问题,体验计算机解决问题的过程。 体验计算机解决问题的过程教学设计-全文共6页,当前为第2页。 体验计算机解决问题的过程教学设计-全文共6页,当前为第2页。 教学难点: 在解决实际问题中,如何通过抽象建模,再通过编写程序求解。 培养学生使用计算机解决生活实际问题的意识。 教学策略(时间不够不写) 本节课中,首先从学生熟悉的解一元二次方程题出发,引出人工解决问题的一般步骤;然后设置情境,让学生明白:虽然不用处理科学研究中的大量数据,但在学习过程中因为要面对一些相对复杂的计算,人工处理效率低,而计算机处理复杂问题效率较高。以此为切入点,带领学生一起总结计算机解决问题的一般过程。 接下来设置不同难度的项目选题,以学生为主体,教师为主导,让学生在遵循计算机解决问题的一般过程中开展项目式学习。分层教学同时兼顾了本地生和西藏生的学情,在项目开展过程中通过小组学习帮扶及协同学习等,将民族团结教育融入其中,也培养了学生正确信息社会价值观和责任感。 总的来说,整课围绕增强学生信息意识,发展计算思维,提高数字化学习与创新能力,树立信息社会责任的学科核心素养目标,通过项目引领、分层教学、小组合作等模式的融合,在体验计算机解决问 的一般过程中达成教学目标并突破重难点。 教学过程 教学环节 教师活动 学生活动 设计意图 本地生 西藏生 情景导入 展示简单一元二次方程并提出问题:如何求解这个方程? 回想初中所学一元二次方程求根公式,很快对方程式进行求解。 用解数学题引入,吸引学生注意,激起学生兴趣。 解方程作为本节课的主线贯穿课堂始终。 学习新知 让学生思考刚才求解方程式的步骤,并迁移引出人工解决问题的一般过程。 黑板展示十道更为复杂的一 积极思考,体会并理解人工解决问题的一般过程。 对数量大,难度 从亲身经历提炼知识,以点破面,突破本节课第一个重点。 设置一个情境,让 体验计算机解决问题的过程教学设计-全文共6页,当前为第3页。体验计算机解决问题的过程教学设计-全文共6页,当前为第3页。教学环节 体验计算机解决问题的过程教学设计-全文共6页,当前为第3页。 体验计算机解决问题的过程教学设计-全文共6页,当前为第3页。 教师活动 学生活动 设计意图 本地生 西藏生 学习新知 元二次方程,并通过设问,指出可以用计算机编写程序来帮助我们求解方程。 结合人工步骤,带领学生总结计算机编写程序解决问题的一般过程。 高的方程求解跃跃欲试,手动计算后发现效率低。 3.积极思考,归纳计算机编写程序解决问题的过程。
《Head First 设计模式》是一本以独特的方式介绍设计模式的图书。这本书的特点是深入浅出,用生动的故事和图解来阐述设计模式的思想和应用。 在《Head First 设计模式》中,作者以一个虚构的咖啡店作为背景,通过讲述一系列故事来引入不同的设计模式。这些故事充满了幽默和趣味,使得读者可以更好地理解和记忆设计模式的概念和原则。 从开篇的故事“设计头等舱”开始,读者就会被带入到设计模式的世界中。每个故事都涵盖了一个特定的设计模式,并通过实例和代码演示了如何应用该模式来解决实际问题。在每个故事结束时,作者还提供了一些问题和思考,帮助读者更好地理解和记忆所学的设计模式。 除了故事和图解,书中还提供了大量的代码示例和UML图,以便读者更好地理解和应用设计模式。作者还特别强调了设计模式之间的关系和区别,帮助读者理解何时使用哪种设计模式。 《Head First 设计模式》的风格生动有趣,非常适合初学者学习设计模式。读者可以从中学习如何正确使用设计模式,并学会将设计模式应用到自己的项目中。这本书不仅是一本教科书,更是一本培养设计思维和编程技巧的工具书。 总之,《Head First 设计模式》是一本以生动有趣的方式介绍设计模式的图书。它通过故事、图解和实例帮助读者更好地理解和应用设计模式,是初学者学习设计模式的良好入门书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卜卦丶cc

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值