- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 设计模式之工厂模式(java)
工厂模式的种类分为三种: 简单工厂 工厂方法 抽象工厂 简单工厂模式看一下head first中披萨的例子:披萨的简单工厂类SimplePizzaFactory:public class SimplePizzaFactory { public Pizza createPizaa(String type) { Pizza pizza = null;
2016-12-30 17:07:53 329
原创 设计模式之装饰者(java)
装饰者模式其是一种使用组合或者委托的方式对某种类进行进一步包装,避免直接全部使用继承实现很多的时候而显得非常臃肿。当你不想对原来的类结构做出改变,你又想给原来的类添加功能,你有可能就直接继承原来的类,这样做的问题是当需要很多功能添加的时候需要很多继承类,后期的维护会变的很困难,这就是所谓的“类爆炸”。所以使用装饰者模式是一个相对较好的方式在原功能类添加功能(不需要对原来的类结构做出改变),当然装饰者
2016-12-21 10:13:22 312
原创 设计模式之观察者模式(java)
观察者模式 = 主题 + 观察者(也叫订阅者)观察者订阅一个主题,当主题内容有更新的时候,观察者可以接受到更新通知,在这里还分为俩种获取更新的方式 推送 : 一旦主题有更新,就主动推送更新通知到各个观察者 拉取 : 主题有更新的时候,观察者需要主动去获取更新 下面我们来看一下基于推送的天气预报的例子,气象站是收集天气信息,WeatherData对象来保存气象数据,并且当We
2016-12-20 19:21:43 320
原创 设计模式之策略模式(java)
什么是策略模式?定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户(引用自head first 设计模式中的解释)下面谈谈我自己对其粗浅的理解(java)所谓策略,就是动态的改变对象的行为,兵来将当,水来土掩,用类的形式封装最基本不会变的,用接口或者抽象类的形式来实现动态的内容。好多人都提及策略模式中以下三个重要对象概念: 环境(Context)角色
2016-12-20 10:35:08 409
原创 java简单的迷宫问题——堆栈的应用
这里说一下简单的迷宫问题,老鼠如何在迷宫中起点走到终点,一个二位数组MAZE[][]表示迷宫,MAZE[i][j]=1表示此处有墙,MAZE[i][j]=0表示无墙(可以通过),老鼠走过的路线就将其对应值设置为2,这里提供了一个起点(1,1)和终点(8,10),数组内容如下: 上代码!(这里其实没什么智能性,就像是无头苍蝇一样一直撞到出口)记录老鼠走过的路径public class TraceRe
2016-12-02 21:27:29 1249
原创 LeetCode刷题系列_5题
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example: Input: “babad” Output: “bab” Note: “aba” is also a valid answer.
2016-12-02 20:02:46 365
原创 汉诺塔问题
经典的递归解决方案,汉诺塔问题请自行百度查询,这里不做叙述,直接上代码:public class Hanoi { public static void hanoi(int n, int p1, int p2, int p3) { if(n == 1){ System.out.println("盘子从 "+ p1 + " 移到" + p3);
2016-12-01 16:15:02 263
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人