zoukankan      html  css  js  c++  java
  • 如何学习设计模式

      好吧,最近比较闲!心里发虚,担心被fire 。this is a 打工者。 发现了一个矛盾,当你很忙于做项目的时候,总是奢望能有时间自己学习,当你有时间学习的时候,发现这也想学那也想学,又在迷茫不知道如何学习!时光在蹉跎中流失,而我却还徘徊。于是抓住一个目标,学学设计模式。

      以前自己接触设计模式,网上搜一下各个模式,学了也不用,都忘记了!最近有抽时间学习了一下。说说自己学习的感悟!

      首先面向对象的几大原则这个必须了解,至少要知道。因为无论哪个设计模式,都遵循这几大原则一点或几点。不少网友说叫设计模式是很不对的,这个东西其实翻译成《面向对象设计23招》或者《面向对象的实例教程》!其实就是这个意思,通过23个例子,叫你了解面向对象的设计原则。

      所以你要买一本实例教程,初学者推荐《head first 设计模式》,这样的书有很好的引导,你可以自己先设计再和作者的思路对比,发现不足。 一般的设计模式都是java或c#,你可以用另一种语言写出来比如php,js 或者其他。为了增强理解,可以做一些题目。最后能闭上眼睛很熟练把uml画出来,说明你理解了。

      总结:

      在学习每一个设计模式时至少应该掌握如下几点:

      这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;
     
      这个模式的优缺点是什么,在使用时要注意什么。当你能够回答上述所有问题时,恭喜你,你了解一个设计模式了,至于掌握它,那就在开发中去使用吧,用多了你自然就掌握了。
    推荐一个bolg  http://blog.csdn.net/lovelion/ 挺不错我经常去光顾!
  • 相关阅读:
    hihoCoder #1078 : 线段树的区间修改
    hihoCode r#1077 : RMQ问题再临-线段树
    hihoCoder #1070 : RMQ问题再临
    hihoCoder #1068 : RMQ-ST算法(模板)
    LeetCode Valid Sudoku 有效数独
    150 Evaluate Reverse Polish Notation 逆波兰表达式求值
    149 Max Points on a Line 直线上最多的点数
    148 Sort List 链表上的归并排序和快速排序
    147 Insertion Sort List 链表插入排序
    146 LRU Cache 最近最少使用页面置换算法
  • 原文地址:https://www.cnblogs.com/liuzhang/p/2971801.html
Copyright © 2011-2022 走看看