随笔分类 -  设计模式

程序设计
DAO设计模式(转)
摘要:J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码. 我们先来回顾一下DAO设计模式和数据访问对象. DAO基础 DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开 阅读全文
posted @ 2017-09-30 14:38 csguo 阅读(246) 评论(0) 推荐(0)
反应器(Reactor)模式
摘要:Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 同步和异步区别:有无通知(是否轮询),异步:处理完后会通知请求方堵塞和非堵塞区别 阅读全文
posted @ 2017-09-30 14:37 csguo 阅读(558) 评论(0) 推荐(0)
模板方法模式
摘要:一、简介 模板方法模式是类的行为模式,需要开发抽象类和具体子类的工程师之间的合作。一个工程师负责给出一个算法的轮廓和骨架,另一个工程师负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称为基本方法,而将这些基本方法汇总起来的方法叫做模板方法。 二、设计思想 模板模式通常会设计一个抽象类,内部 阅读全文
posted @ 2017-09-24 22:42 csguo 阅读(298) 评论(0) 推荐(0)
代理模式(Proxy)
摘要:代理模式是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并由代理对象控制对原对象的引用。 代理分静态代理和动态代理 一、静态代理 代码示例 接口 [java] view plain copy print? package com.jialinl; public interface Int 阅读全文
posted @ 2017-09-21 17:44 csguo 阅读(317) 评论(0) 推荐(0)
IOC给程序带来的好处
摘要:IOC(inversion of control)的中文解释是“控制反转”或者“依赖注入”,它的实现目的是:我们可以通过配置文件来控制程序的流程,达到程序代码的优化。初学者往往弄不清楚为什么我们可以通过“控制反转”或“依赖注入”来优化我们的代码。今天我想借这个机会说说我对IOC程序设计原则的认识,以 阅读全文
posted @ 2017-09-21 17:26 csguo 阅读(4692) 评论(0) 推荐(1)
基于线程实现的生产者消费者模型(Object.wait(),Object.notify()方法)
摘要:需求背景 利用线程来模拟生产者和消费者模型 系统建模 这个系统涉及到三个角色,生产者,消费者,任务队列,三个角色之间的关系非常简单,生产者和消费者拥有一个任务队列的引用,生产者负责往队列中放置对象(id),消费者负责从队列中获取对象(id),其关联关系如下 方案1 因为是多线程操作,所以对任务的存取 阅读全文
posted @ 2017-09-18 11:58 csguo 阅读(342) 评论(0) 推荐(0)