上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页
摘要: 【建造者模式】 又称为生成器模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式中,主要有4个角色: 1.Product产品类(例子中的Computer类) 表示被构建的复杂对象(通常是实现了模板方法模式)。 2.Builder抽象建造者类(例子中的Build 阅读全文
posted @ 2016-12-21 14:50 HigginCui 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 【模板方法】 定义一个操作中的算法框架,将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 【模板方法的抽象类中主要包含两部分】 [ 基本方法 ] 也称为基本操作,是由子类来实现的方法,并在模板方法中被调用。 [ 模板方法 ] 可以有一个或几个,一般是一个具体的 阅读全文
posted @ 2016-12-21 10:16 HigginCui 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 【抽象工厂模式自己想的思路】 假设一个村庄生产两种水果:苹果和芒果,某年由于滞销导致村里积累了大量苹果和芒果,为了利用起来这些水果,村里要建设两种工厂,分别是果汁加工厂和果干加工厂,在这两个加工厂中,果汁加工厂可以生产苹果汁和芒果汁,果干加工厂可以生产苹果干和芒果干,这里就涉及了我们的抽象工厂模式。 阅读全文
posted @ 2016-12-20 20:38 HigginCui 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 【简单工厂模式】 简单工厂模式,又称为静态工厂模式,是工厂方法模式的扩展,其与工厂方法模式的主要区别在于工厂类,简单工厂模式的工厂类特点: 1.去掉了抽象工厂类,直接在具体工程类MiPhoneFactory中添加createMiPhone()方法。 2.把createMiPhone方法修改为stat 阅读全文
posted @ 2016-12-20 16:12 HigginCui 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 【工厂方法模式】 定义一个用于创建对象的接口(或抽象类),让子类决定去实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 【具体案例:小米手机工厂】 【运行结果】 【优点】 * 良好的封装性,代码接口清晰。一个对象的创建是有条件约束的,如一个调用者需要一个具体的产品对象(new Mi3()),只 阅读全文
posted @ 2016-12-20 11:23 HigginCui 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 【单例模式定义】 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 【关键点】 1.定义一个private访问权限的构造方法,避免被其它类new出一个对象。 2.自己可以new出一个对象,其他类可以通过getInstance()方法获得同一个对象。 【优点】 1.由于单例模式在内存 阅读全文
posted @ 2016-12-19 10:23 HigginCui 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 【六大原则总览】 1.单一职责原则 2.里氏替换原则 3.依赖导致原则 4.接口隔离原则 5.迪米特法则 6.开闭原则 【原则一:单一职责原则】 英文全称:Single Responsibility Principle,简称SRP。 要求一个接口或类只有一个原因引起变化,就是一个接口或类只有一个原则 阅读全文
posted @ 2016-12-18 19:45 HigginCui 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 【死锁例子】 【运行结果】 【分析】 创建两个线程"筷子线程"和"刀叉线程",flag值分别为true和false,分别执行run方法中的if和else的代码块,注意chopstick和knifefork对象锁都是静态变量,所以两个线程中的static变量时一致的。当筷子线程拥有chopsticks 阅读全文
posted @ 2016-12-06 10:49 HigginCui 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 【线程安全问题例子】 模拟售票案例,4个窗口售票,总共100张票。 【运行结果】 【分析】 当只剩下一张票时,某个线程判断满足while(tickets>0)进入循环,然后休眠10ms,此时其它线程在这10ms内依次进入判断while(tickets>0),然后都休眠10ms,最后大家都执行最后的S 阅读全文
posted @ 2016-12-06 09:30 HigginCui 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 【使用forEach()结合Lambda表达式遍历集合】 【关于forEach(Consumer action)方法】 Java8为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法的参数类型Consumer是一个函数式接口,而Iterable接口是Col 阅读全文
posted @ 2016-12-01 16:59 HigginCui 阅读(1211) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 30 下一页