资源简介
软件体系结构的作业,用了比较经典的KWIC系统,一步步让你体会到软件体系结构设计的重要性,由刚开始的面向过程,到面向对象,再到基于事件的系统,再到管道过滤器模式,系统的灵活性一步步提升,做完试验之后,还有问题需要回答,让自己更清楚每种架构的优缺点等。

代码片段和文件信息
// -*- Java -*-
/*
*
*
* Copyright (c) 2002
* Institute for Information Processing and Computer Supported New Media (IICM)
* Graz University of Technology Austria.
*
*
*
*
*
* Name: Alphabetizer.java
*
* Purpose: Sorts circular shifts alphabetically
*
* Created: 05 Nov 2002
*
* $Id$
*
* Description:
* Sorts circular shifts alphabetically
*
*/
package kwic.es;
/*
* $Log$
*/
import java.util.Observable;
import java.util.Observer;
/**
* Similarly to CircularShifter class Alphabetizer class implemets the “Observer“
* part of the standard “Observable“-“Observer“ mechanism as well. However an object
* of Alphabetizer class “observes“ a LineStorageWrapper object which keeps
* circular shifts whereas an object of CircularShifter class “observes“ a LineStorageWrapper
* object which keeps original lines from a KWIC input file. Thus an instance of Alphabetizer
* class declares its interest in tracking changes in an object of LineStorageWrapper
* class holding circular shifts. Therefore any event produced and sent by that
* LineStorageWrapper object whenever its internal state is changed (i.e. whenever a new circular
* shift has been added) is catched by Alphabetizer object. In turn this leads to
* sorting the circular shifts alphabetically.
* @author dhelic
* @version $Id$
*/
public class Alphabetizer implements Observer{
//----------------------------------------------------------------------
/**
* Fields
*
*/
//----------------------------------------------------------------------
//----------------------------------------------------------------------
/**
* Constructors
*
*/
//----------------------------------------------------------------------
//----------------------------------------------------------------------
/**
* Methods
*
*/
//----------------------------------------------------------------------
//----------------------------------------------------------------------
/**
*/
public void update(Observable observable object arg){
// cast to the line storage object
LineStorageWrapper shifts = (LineStorageWrapper) observable;
// cast to the event object
LineStorageChangeEvent event = (LineStorageChangeEvent) arg;
// take actions depending on the type of the change
switch(event.getType()){
// if this is an ADD change sort shifts
case LineStorageChangeEvent.ADD:
// get the count of shifts
int count = shifts.getLineCount();
// get the last added line
String shift = shifts.getLineAsString(count - 1);
// iterate through all shifts and insert the new shift on the proper
// position
for(int i = 0; i < (count - 1); i++){
// if the new shift is “less th
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3729 2013-03-23 22:35 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\Alphabetizer.java
文件 5238 2013-03-25 19:26 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\CircularShifter.java
文件 3310 2013-03-23 23:05 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\Input.java
文件 8016 2013-03-25 18:55 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\KWIC3.java
文件 18782 2013-03-24 09:45 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\LineStorage.java
文件 3759 2013-03-23 22:35 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\LineStorageChangeEvent.java
文件 6526 2013-03-25 18:55 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\LineStorageWrapper.java
文件 1825 2013-03-23 22:35 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\Output.java
文件 1721 2013-03-25 19:37 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\es\WordsIndex.java
文件 25970 2013-03-24 20:26 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\ms\KWIC.java
文件 11339 2013-03-25 19:37 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\ms\MyKWIC.java
文件 4912 2013-03-23 19:08 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\Alphabetizer.java
文件 5704 2013-03-23 19:08 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\CircularShifter.java
文件 4628 2013-03-25 15:42 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\Input.java
文件 4540 2013-03-25 16:02 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\KWIC2.java
文件 7383 2013-03-23 20:49 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\Line.java
文件 16945 2013-03-23 20:57 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\LineStorage.java
文件 1828 2013-03-23 19:08 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\Output.java
文件 844 2013-03-23 21:20 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\oo\test.java
文件 5135 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\Alphabetizer.java
文件 3872 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\CircularShifter.java
文件 3218 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\Filter.java
文件 4140 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\Input.java
文件 5168 2013-03-25 19:56 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\KWIC4.java
文件 3555 2013-03-24 17:00 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\LineTransformer.java
文件 2162 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\Output.java
文件 3622 2013-03-24 14:59 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\Pipe.java
文件 4624 2013-03-25 20:04 2013软件体系结构作业-1201210676-李亚方-第1次\修改后的代码+详细注释\pf\ShiftFilter.java
文件 1311 2013-03-25 20:50 2013软件体系结构作业-1201210676-李亚方-第1次\实验一修改说明.txt
文件 5914 2013-03-25 11:57 2013软件体系结构作业-1201210676-李亚方-第1次\实验一运行结果.txt
............此处省略19个文件信息
- 上一篇:打卡小程序界面设计
- 下一篇:Authorware拼图游戏.a7p
相关资源
- Python全栈学习笔记面向对象大作业:
- 图书借阅管理信息系统
- 协同过滤算法源码
- 武汉理工大学面向对象实验
- 过滤器源代码
- crossfilter tutorial
- 领域驱动设计与模式实践.pdf
- 锤子Thor1.2+Thor1.34+300条过滤器规则
- springCloud路由网管负载均衡及拦截过滤
- 深入浅出面向对象分析与设计中文版
- 基于面向对象方法学的银行储蓄系统
- 基于item-user混合协同过滤的推送系统
- 分析模型案例(高级面向对象方法与
- 面向对象-电影院预售票业务
- 论文研究 - 基于DEA-Malmquist指数的玉米
- 论文研究 - 基于协同过滤和人工神经
- kettle 数据过滤验证
- (GoF):设计模式——可复用面
- β-SiC微粉过滤分级实验研究
- 井下千米钻机煤泥水就地循环利用工
- MapReduce基于物品的协同过滤算法实现
- 面向对象脑图
- sparkMllib协同过滤测试数据ml-1m
- 北航OO课作业代码
- 面向对象软件工程-第三版英文版
- crack破解补丁
- 设计模式,可复用面向对象软件的基
- 武汉理工大学面向对象与多线程综合
- 推荐系统手册(英文版)
- 面向对象版表达式计算器之完整源码
评论
共有 条评论