大话设计模式总结——为什么要学设计模式?

2024-06-10 03:58

本文主要是介绍大话设计模式总结——为什么要学设计模式?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言:

 从开始大话到现在,断断续续的总结,停停走走之间貌似我已经欠下了很多的账……,出来混早晚都要还的啊!

从一开始学习大话,自己想的是,因为要在机房收费系统重构的时候用到设计模式,所以会有这个内容的学习。认识比较的肤浅。也有过一篇宏观的大话总结《设计模式——宏观总结》,里面有谈及过设计模式的用处,但是说句实话,那只是从书上看到的,真正的体会自己还是很少的。当然自己在学习每一个模式的过程中基本是遵循着一个模板而来。后续的一些博客,没有及时地更新。这也是自己的一个拖拉的表现!总之,慢慢改吧!还好自己一直是坚持在学习,每天进步一点点

现在,算是一个学完了大话的大总结。我不由地再次反思下列的一些问题:

学习大话设计模式是为了什么?

  1 更加深刻的理解和认识面向对象的思维方法

  2 为接下来的机房重构做一个准备

  3 为以后走向专业化之路奠定基础

在这个过程中自己收获了什么?

1 基础知识积累:

《C#基础知识积累——反射》

《深复制VS浅复制》

《.net基础积累——Hashtable 类中默认函数Hashnable》

2 个别模式的总结

《大话设计模式——单例模式》

《大话设计模式——模板方法模式》

《大话设计模式——适配器模式》

3 思想方法进步:

  学习生活化:在大话学习的过程中,更加深刻意识到所有的知识都可以在生活中找到原型的这句话。于是我在学习过程中不断进行类比,比喻。发现一些知识和概念的理解,其实真的很简单,很快就掌握了本质。

  生活学习化:自己在吃饭,洗衣服,逛超市,买烤肉串,等等这些生活场景中,就会不自觉的想到设计模式!进行相互联系和瞎想!哈哈,尽管理解不是很到位,但是这个过程挺有意思。

4 还有什么疑惑和不解?

 以下这些具体的问题,将会在后续的博客更新中进行总结和继续学习

 匿名方法?匿名函数?委托?什么时候用静态的变量呢?建造者模式中遇到问题:picturebox 对象的重绘怎么实现???不解,为何无法在from load事件中写。

  关于学习的“度”的掌握:应该说在半个月之前就已经完成了设计模式的学习,但是自己一直给自己找各种借口来不完成项目,一直等着总结,想着总结完所有的模式,非把每个模式都贴到博客才肯罢休。突然发现,自己才第一次接触。真的没有这个必要。接着往下走就好!而且,其实每个模式都学习过了,也总结了,只是不太仔细而已。相信自己也还没有用过,根本也不可能真正理解设计模式的精妙之处。所以,放到后面的机房中去实践吧!

对于自己的学习方法和习惯有什么新的认识和改进?

不足之处:

  再看站在巨人的肩膀上:走得这么慢,是因为我对于一些前人的话总是半信半疑。有着自己的一套想法。想要站在巨人的肩膀上,同时还想自己独辟蹊径上大道!在很多的地方花费了比较对的时间,对于很多的拓展的知识,了解比较多。但是却没有照顾到自己的进度和其他的计划。一些难点的概念,总是会花上很多的精力和时间去琢磨,前提是自己绝对的不占用休息时间,这是我的原则。一旦问题研究通了,马上奖励自己一天半天的,额,呵呵,所以慢是有一定道理存在滴……希望师傅看到这里不要吐血A

  自己的思维方式:易创新,也易失败。这是米老师曾经对我说过的一句话。确实,我脑子很容易产生一些新奇的想法。比如:机房管理小组的成立、给11期做一个专用系统、英语小组的成立……也算是自己做的一些大胆的尝试吧。不知道能不能让米老师在好人好事儿上给我记上一个小红星星捏?哈哈,至于后面还会有什么,这个我也不太清楚!呵呵,敬请期待吧!

  回顾自己的笔记,乱,不堪回首。怎么办?改变吧!要想于亮师哥学习。偶然之间看到师哥的OneNote笔记,那叫一个让人震惊啊!哎!马上交流的走起!

收获:(学习方法)

 1、整体性学习法首先宏观掌握,然后联系生活找关系作比喻,对比相似知识的细节找不同和相同,最后编织知识网,来一个宏观大总结。

  应用:视频三遍学习法、大话总结的模板

 2、笔记学习法:

  解决当前的,记下不懂的。一些具体的名词,知识。遇到一个查一个,查一个消灭一个。不懂的,先记下。在后续学习过程中去回顾,适当时候更新到博客。

   

这篇关于大话设计模式总结——为什么要学设计模式?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047148

相关文章

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000