- 博客(11)
- 资源 (1)
- 问答 (5)
- 收藏
- 关注
原创 HeadFirst设计模式-迭代器模式和组合模式
什么是迭代器模式?让用户通过特定的接口访问容器的数据,不需要了解容器内部的数据结构。比如menu里有早餐的Array和完成的ArrayList,遍历时需要用分别用遍历数组和ArrayList(遍历两次),且如果增加甜品的HashMap时需要修改menu的代码。可以让数组,ArrayList和HashMap等实现迭代器接口,在menu里设置迭代器的数组或list,通过迭代器遍历一次即可(可简写...
2020-03-26 13:09:54 195
原创 HeadFirst设计模式-模板方法模式
设置泡咖啡和泡茶两个类,步骤如下:放水放咖啡/茶步骤1是共有的。可以设置一个抽象类,实现方法1,定义方法2并由子类实现。 public abstract class PrepareDrink { void putWater(){System.out.println("putWater");}; abstract void putContent();}public ...
2020-03-26 11:09:26 157
原创 HeadFirst设计模式-外观模式
作用是简化接口,比如打开电脑,电脑内部需要很多操作,但通过提供一个很简单的接口,按下开关能开机了。public Class putElephantIntoFridge { Elephant elephant; Fridge fridge; void open(){ fridge.open(); } void put(){ e...
2020-03-26 10:43:42 77
原创 HeadFirst设计模式-适配器模式
适配器模式用来连接两个接口/类,类似插座转换头public interface Dog { void call(); void run();}public interface Fish { void call(); void swim();}public class BigFish implements Fish{ @Override ...
2020-03-26 10:28:54 94
原创 HeadFirst设计模式-命令模式
为了简单没做任何异常处理。可以实现任务队列等需求。public interface Command { void execute(); void undo();}public class Light { private String name; public Light(String name) {this.name = name;} public...
2020-03-23 22:02:37 98
原创 HeadFirst设计模式-单例模式
//饿汉式单例:在定义开始,便实例化自己。可能出现初始化自己但不被使用的情况public class A { private A(){}; private static A a=new A(); public static A getA(){ return a; }}//懒汉式单例:在第一次调用时实例化自己。需要考虑线程安全问题,效率低pu...
2020-03-22 22:39:34 144
原创 HeadFirst设计模式-工厂模式
把创建对象的代码(容易被修改)封装起来public interface Coffee { String description();}public interface CoffeeFactory { Coffee getCoffee(String name);}public class CappuccinoCream implements Coffee { @...
2020-03-22 13:35:15 97
原创 HeadFirst设计模式-装饰者模式
装饰完后类型不变public interface Coffee { int cost(); String description();}public class Cappuccino implements Coffee { @Override public int cost() { return 200; } @Overri...
2020-03-21 22:21:57 72
原创 HeadFirst设计模式-观察者模式
1个主题对应多个观察者主题发送变化时通知所有观察者可以动态添加删除观察者public interface Animal { void call();}public interface RoomGetable { void getRoom();}import java.util.HashSet;public class House implements S...
2020-03-21 17:44:38 115
原创 HeadFirst设计模式-策略模式
public interface Callable { void call();}import org.junit.Test;public class TTT { @Test public void ttt(){ Callable c=new Callable() { @Override public...
2020-03-21 16:57:25 74
原创 java:手写webserver
http://www.bilibili.com/video/av59814573?p=252//注解类,用来设置servlet处理的url地址的注解,不设置@Target或@Retention会失效package slq;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import...
2020-03-16 22:40:53 257
汇编语言的在代码段中使用栈的数据改变的问题
2020-02-06
怎么读取动态创建的java文件里的类
2020-02-03
访问/a会调用/a/{b}的api吗?
2020-01-15
关于js的不加var和let的for循环
2019-11-12
vue相关,为什么只有最后一个值改变了
2019-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人