摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:33 MalcolmMeng 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 命令模式是对对象的操作进行封装,封装的方式就是定义抽象的命令接口,在接口中定义一组操作。具体的命令类要持有命令的接受者。此外命令还需要有一个容器来存放。不过对这个容器的作用我很是疑惑,我感觉没有这个invoker好像也没什么问题= =唯一的解释就 阅读全文
posted @ 2018-04-10 16:32 MalcolmMeng 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 抽象工厂的每个方法实际上看起来都像是工厂方法,每个方法负责产生一类产品。所以抽象工厂和工厂方法最大的不同是抽象工厂可以产生很多类产品,是一个产品的集合。抽象工厂模式实现也是通过子类实现,即实现每一个工厂方法。 事实上,理解了工厂方法模式,抽象工厂 阅读全文
posted @ 2018-04-10 16:30 MalcolmMeng 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 一直没有体会到工厂方法的实际意义,因为我对工厂方法的理解还不够,就是没有实际写过代码,因为平时写代码都是直接new,体会不到工厂方法模式的作用。 当代码使用大量的具体类时,需要考虑工厂方法模式了。 head first 里的依赖倒置原则我不是很懂 阅读全文
posted @ 2018-04-10 16:29 MalcolmMeng 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 装饰者模式设计的关键之处就是最顶层的接口或抽象类设计,设计的时候要注意保证接口或抽象类的动作要完全,并且要保持稳定。 仿照head first ,以煎饼果子为例,写了个小例子 阅读全文
posted @ 2018-04-10 16:28 MalcolmMeng 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:27 MalcolmMeng 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 图片来自head first 设计模式,仅供学习之用 阅读全文
posted @ 2018-04-10 16:26 MalcolmMeng 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 题目思路直接,用分桶法管理每一块的最大值和最小值就可以 #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<vector> #include<string> #include<map> #d 阅读全文
posted @ 2018-04-01 23:13 MalcolmMeng 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 第一次尝试分桶法,很不顺利,还是太菜了。基本上是借鉴别人的代码,不过还是有很多地方不太懂 ///分块思想本质是统计的方法 #include<cstdio> #include<algorithm> #include<vector> #include<iostream> #include<string> 阅读全文
posted @ 2018-04-01 10:14 MalcolmMeng 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 说实话,我现在对于git的使用还不是很熟悉,因为难用,所以平时也用的少,今天又试了下,又有了一点理解,记下来。 git管理版本的方式是二维的,既可以在时间线的前后,也可以在不同的版本之间。 版本回退 在时间线上编辑的的主要命令有 git reflog 可以查看所有分支的所有操作记录(包括(包括com 阅读全文
posted @ 2018-03-17 23:21 MalcolmMeng 阅读(109) 评论(0) 推荐(0) 编辑