设计模式详解(一)

decorate:装饰器模式
  java io 中有着极其广泛的应用,不多解释。典型的代码如下

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("F:/text.txt")); 


adapter:适配器模式
  简单来说:在一个serviceA中注入一个serviceB,就是一种适配器模式(把serviceA适配成了一个serviceB,serviceB能干的事他都能干。)适配器模式通过聚合而不是继承来减少类之间的耦合。
最典型的,是和内部类一起使用。需求:现在要封装一个图表类库。传入一个数据集合就可以得到图表!请看代码。
columnData = FusionChartHelper.createColumnData(users, new ColumnDataAdapter<User>() {

		public String getX(User user) {
			return user.getName();
		}
		public String getY(User user) {
			return user.getAge();
		}
}


我在另外的地方定义了ColumnDataAdapter这个接口。通过这种方法我就可以把任意的数据集适配成了我想要的格式。
否则呢?我每次绘制柱状图的时候就得把数据集循环,然后新建一个新的ColumnData list,一个个的add进去。

bridge:桥梁模式
这个还是数java io的例子最典型。inputStream(字节输入流) 和 Reader(字符输入流)之间的转换。请看代码
BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in));  

你可能感兴趣的:(java)