- 浏览: 35782 次
- 性别:
- 来自: 上海
最新评论
文章列表
facade 外观模式
- 博客分类:
- 设计模式
我们来看看李京东的文章是如何写的。原文地址:http://terrylee.cnblogs.com/archive/2006/03/17/352349.html
概述
在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变 ...
一、 桥梁(Bridge)模式
桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两 ...
问题1:如果用@Entity 属性的注解一定要写在set方法上
问题2:如果@transactional放在action的方法上应该在spring的配置文件里
加<aop:aspectj-autoproxy proxy-target-class="true"/>,因为spring的默认动态代理是借口方法;并把aspectjweaver.jar放在lib目录下
问题3:用hql语句时字符串要用单引号
问题4:spring得Annotation得时候,用json串得时候,getXX()方法应有相应得xX变量,否则出错
prototype 原型模型
- 博客分类:
- 设计模式
原型模式
前序
这回小菜准备去应聘了
,
大鸟看了小菜的简历后感觉他都是在瞎扯
.
小菜准备了很多份相同的简历
.
于是大鸟便让小菜同学通过编写代码来实现相同的三份简历
.
不久后小菜实现了第一版的代码
.
小菜的第一版代码
#include <stdio.h>
class Resume
{
public:
Resume(char* _name) : name(_name),sex(0),age(0),timeArea(0),company(0){ ...
Builder 生成器模式
- 博客分类:
- 设计模式
1.概要
1.1意图
将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。需要注意如下几点。
(1)构建与表示分离:表明生成器模式的结构,构建过程被封装在导航器中,生成器则负责实现具体的表示。
(2)同样的构建过程:生成器模式关注的是构建过程,即构建过程是相同的。
(3)不同的表示:生成器模式并不在意产生对象的结果,其构造的产品不一定有相同的类型。
1.2使用场合
创建复杂对象的算法应该独立于该对象的组成部分及其装配方式,以及构造过程必须允许被构造的对象有不同表示情况下使用生成器模式。
...
适配器模式
Adapter(别名Wrapper)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间。
要点:
1. 适配器模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
2. 适配器模式有对象适配器和类适配器两种形式的实现结构,但是类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。
类的适配器模式结构图(继承)
对象的适配器模式结构图(组合)
(对象适配器的代码实现) ...
一:装饰器涉及四个名词
1、接口或者抽象基类
2、被装饰对象,也就是一个简单的实现了1中提到的接口或者抽象基类的实现类。
3、装饰对象,就是去装饰被装饰对象的对象
4、继承装饰对象类的子类,也就是具体的装饰器类了。
使用场景
1、装饰器模式主要装饰供外部调用的接口方法,如果一个接口方法只是提供给内部调用,则不能使用该模式。
2、装饰器模式主要装饰可能要改变的接口方法,如果类中的某种行为在将来可能发生变化,而你又懒得去改变
原来的类,那么就可以考虑使用装饰器模式了。
装饰模式是用于对象的创建 ...
Factory
一
、工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类:
1. 简单工厂模式(Simple Factory)
2. 工厂方法模式(Factory Method)
3. 抽象工厂模式(Abstract Factory)
这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。下面是使用工厂模式的两种情况
1.在编码时不能预见需要创建哪种类的实例。
2.系统不应依赖于产品类实例如何被创建、组合和表达的细节
二、简单工厂模式
顾名思义,这个模式本身 ...
策略模式(Strategy)
- 博客分类:
- 设计模式
一、概念
策略模式(Strategy):
它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策
略模式让算法的变化不会影响到使用算法的客户。(原文:The Strategy Pattern defines a family of
algorithms,encapsulates each one,and makes them interchangeable.
Strategy lets the algorithm vary independently from clients that use
it.)
优点:
1、 简化了 ...
SSH整合包详解.Struts2.2.3+Spring3.1.0.M2+Hibernate3.6.6
以下是偶整理出来的比较新的SSH一些基本的包,基本上适用没特殊要求的项目.可能有些描述写得不对或者不好,请大家多多指点指点.
commonscommons-digester-2.0.jar ...
package com.bjsxt.hibernate;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence. ...
android service
- 博客分类:
- Android
一关于Service :
Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来声明。可以通过contect.startservice和contect.bindserverice来启动。
Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。
二 service的两种模式:
(startService()/bindService()不是完全分离的):
...
1:activity代码
package com.example.android20_expandablelistactivity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ExpandableListActivity;
import android.os.Bundle;
import android.widget.SimpleEx ...
1:activity的代码
package com.example.android21_seekbar_ratingbar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListe ...
一.什么是AppWidget
Android帮助文档中将所有的控件都叫做Widget,实际上我们平常说的Widget都是泛指AppWidget,即在手机桌面上放置的控件,比如时钟,日历等。具体定义如下:
应用程序窗口小部件(Widget)是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。
二.操作
通过在HomeScreen中长按,在弹出的对话框中选择Widget部件来进行创建,长按部件后并拖动到垃圾箱里进行删除。同一个Widget部件可以同时创建多个。
三.基本概念
1.AppWidgetP ...