黑马程序员—两种设计模式及其代码的实现—第11篇
来源:互联网 发布:大数据解决方案供应商 编辑:程序博客网 时间:2024/06/08 10:09
---------------------- android培训、java培训、期待与您交流! ----------------------
写在开头:所有代码都是我一个一个字母敲出来的,用的是低级的代码编辑 器 EditPlus,绝对没有复制粘帖。(Jay.wu QQ:295332752)
单例模式及其代码实现
SINGLETON—俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Singleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事)
单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。
代码:
/*单例设计模式的代码实现:饿汉式和懒汉式*/class SingleDemo {public static void main(String[] args) {Single ss=Single.getInstance();}}/*//饿汉式 开发用这个class Single{private Single(){}private static Single s=new Single();public static Single getInstance(){return s;}}*/class Single //懒汉式 一般用于面试{private Single(){}private static Single s=null;public static synchronized Single getInstance(){if (s==null){synchronized(Single.class){if (s==null)s=new Single();}}return s;}}
模板方法模式及其代码实现
TEMPLATE METHOD——看过《如何说服女生上床》这部经典文章吗?女生从认识到上床的不变的步骤分为巧遇、打破僵局、展开追求、接吻、前戏、动手、爱抚、进去八大步骤(Template method),但每个步骤针对不同的情况,都有不一样的做法,这就要看你随机应变啦(具体实现);
模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。
例如:
/*获取一段代码运行的时间,代码是不确定的。*/abstract class GetTime{public final void getTime(){long start=System.currentTimeMillis();runCode();long end=System.currentTimeMillis();System.out.println("运行所花时间:"+(end-start));}public abstract void runCode();}class SubTime extends GetTime{public void runCode(){for (int i=0;i<1000 ;i++ ){System.out.println(i);}}}class TemplateDemo{public static void main(String[] args) {SubTime t=new SubTime();t.getTime();}}
- 黑马程序员—两种设计模式及其代码的实现—第11篇
- 黑马程序员--java--两种设计模式
- 黑马程序员——单例模式的两种实现方法
- 黑马程序员——线程实现的两种方法
- 【黑马程序员】Java基础学习博客——两种设计模式
- 黑马程序员————IOS学习笔记 第12篇 关于单例设计模式的认识
- 黑马程序员,黑马论坛-------单例模式的两种实现(恶汉+懒汉)
- 黑马程序员—iOS的基本的设计模式
- 黑马程序员——我理解的设计模式
- 黑马程序员—单例模式的设计
- 黑马程序员——阶乘的两种实现方法及水仙花数的打印
- 黑马程序员—— 装饰设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员 —— 装饰设计模式
- 我作SE的那点事
- 从一个实例看jaxb的强大
- EXCEL 函数
- JiBX初步
- JSF入门
- 黑马程序员—两种设计模式及其代码的实现—第11篇
- 用分治法输出一个一维数组中的n个不同实数间距离最小的两个实数
- 对滚动区域QScrollArea用法的摸索
- 多处最优问题
- 控制系统动态性能分析
- libxml库解析XML文件
- HTML编辑器FCKeditor使用详解
- 网球循环赛问题
- 清明节---山东又叫寒食节--吃冷食