自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大闲人柴毛毛

博观而约取,厚积而薄发

  • 博客(9)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 毕设帮(5188.help)开发日志3——最小原型、迭代式开发

前面两篇博客我已经和大家分享了关于毕设帮构想的由来,我也对毕业设计市场进行了详细的分析,要是感兴趣可以读一读:        毕设帮(5188.help)开发日志——毕设帮构想的由来        毕设帮(5188.help)开发日志2——我的构想有市场吗?        在构思和市场分析之后,我便投入了软件设计阶段。        最一开始的问题便是我该选择什么样的平台?

2015-09-30 14:04:10 1963 3

原创 三分钟理解“装饰模式”——设计模式轻松掌握

什么是装饰模式?在运行的过程中,给一个对象动态地添加一些额外的行为。每一个具体的装饰类都为被装饰类添加一个功能。装饰模式的类图1.需要被装饰的对象所在的类和装饰类都有一个共同的父类Component,该类中拥有需要添加额外功能的函数:operation();class ConcreteComponent() extends Component{ public vo

2015-09-06 17:14:07 1438

原创 三分钟理解“状态模式”——设计模式轻松掌握

什么是状态模式?一个函数原本有很多判断语句,现在把判断语句中的每一种状态封装成一个类,每一个状态类中均有一个handle()函数,该函数能对当前状态做出处理,并且能指明不能处理时的下一个状态类。状态模式的类图1.将一个原本的判断结构封装成一个个状态类,每个状态类都有函数handle(Context);该函数对本状态作出处理,当无法处理时,将context肚子中的成员

2015-09-06 16:00:11 1027

原创 三分钟理解“命令模式”——设计模式轻松掌握

什么是命令模式?假设现在有一个请求处理类(低层类/第三方类),如果客户端拿到这个类之后直接调用它,那么客户端和这个请求处理类之间的藕合度过高。这时候我们在客户端的请求发送类和请求处理类之间增加一个Invoker类,再将请求发送类发送的所有请求封装成对象,然后让Invoker类去管理这些请求对象,并决定这些请求是否允许执行、何时执行、按什么顺序执行。由于在请求发送类和请求处理类之

2015-09-06 14:26:23 1883 1

原创 三分钟理解“桥接模式”——设计模式轻松掌握

什么是桥接模式?将两个继承体系使用聚合/组合连接在一起,这就是桥接模式。桥接模式的类图桥接模式中,最大的特色就中两个继承体系中间的那座桥(聚合/组合)。桥接模式中有两个继承体系,分别称为“抽象”和“实现”;抽象类中持有实现类的引用,并且含有set函数用于给用户设置这个抽象类的实现;当给抽象类的对象设置完实现类对象之后,用户就可以通过抽象类的对象访问实现类对象中的

2015-09-06 13:14:57 2954

原创 三分钟理解“抽象工厂模式”——设计模式轻松掌握

实际问题:使用工厂模式写一个程序,既能使用SqlServer访问User表,又能使用Access访问User表。1.创建对User表进行访问的接口UserDao,该接口中包含了所有对User类处理的函数。2.由于Access和Oracle数据库中都含有User表,但不同的数据库对User表实现相同操作的实现是不一样的,因此创建两个UserDao的实现类,分别用户处理Orac

2015-09-02 18:17:59 1625

原创 【视频教程】张全蛋与李小花的故事——代理设计模式

为了让大家更方便地理解设计模式,我录了个短小的视频,这是视频链接:点击观看视频。如果看了视频仍有疑惑,可以看一下“代理模式”的文章:点击查看文章

2015-09-01 21:20:28 1119

原创 三分钟理解“工厂模式”——设计模式轻松掌握

工厂模式和简单工厂模式的比较:简单工厂模式把创建哪个运算类的对象放在工厂类中实现,也就是放在低层模块中实现;从而客户端在需要创建对象时仅仅需要给工厂传入一个key就能获取想要的对象。但当运算体系需要扩展的时候,就需要在工厂中增加新对象的判断,从而破坏了“封闭修改”的原则。工厂模式由于抽象出了一个工厂父类,并且每一运算子类都有一个专门创建该子类对象的工厂子类,因此在增加运算子类的时候,工厂类不需要修改任何代码,只需要增加一个工厂子类即可。但客户端就需要给判断究竟给工厂父类创建哪个工厂子类对象。

2015-09-01 10:03:28 2724 3

原创 张全蛋和李小花的故事——“代理模式”

假设张全蛋喜欢上了李小花,张全蛋准备给李小花送一些礼物,但张全蛋又非常害羞,因此买了礼物之后让王尼玛代送。王尼玛跑到李小花把礼物送给她之后就走了。那么问题就来了,李小花误以为礼物是王尼玛送的。在代码世界中也是一样,张全蛋、王尼玛、李小花是三个对象,张全蛋对象中有一个函数:送礼物,王尼玛对象中也有个函数:送礼物,但王尼玛的送礼物函数只是调用了张全蛋的送礼物函数,也就是送礼物函数的真正实现在张全蛋对象中。然后李小花调用了王尼玛对象中的送礼物函数,李小花并不知道张全蛋的存在,误以为送礼物的函数就是王尼玛的。那

2015-09-01 09:06:34 2491 1

剑指offer算法实现java版——面试题19二叉树的镜像

分析:所谓“镜像”就是从镜子里看到的样子。我们可以画一棵二叉树,然后画出该二叉树的镜像。画完图之后我们会发现,所谓“二叉树的镜像”就是把二叉树中所有子树的左孩子和右孩子进行交换。因此需要遍历二叉树所有的结点,在遍历的同时交换非叶子结点的左右子树。遍历我们可以使用先序遍历,首先判断当前根结点是否为叶子结点,若非叶子结点,则交换左右孩子,然后再分别对左右孩子进行相同的操作。

2016-03-14

剑指offer算法实现java版——面试题21包含min函数的栈

实现一个栈,要求使用O(1)时间获取栈中最小值,O(1)执行pop、push操作。

2016-03-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除