资源简介
软件体系结构的作业,用了比较经典的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
相关资源
- 人大-面向对象程序设计-个人资料管理
- 修复单击变双击的鼠标过滤驱动源码
- Linux下包过滤防火墙的设计与实现
- SDK 面向对象交互式绘图
- 3D排列三三星过滤软件(免费版)V4
- 网络过滤系统
- txt文本过滤器 过滤txt中不想要的部分
- 脚本攻击 后门攻击
- 有意思的应用程序《用名字打架》
- 各大平台网络内容敏感词库过滤词库
- 学生成绩管理系统顺序图
- UnifiedWriteFilter(uwf)
- MacFilterCalloutInstaller
- 网络用词敏感词汇表txt版本一行一个
- KWIC体系结构风格与模式
- Proxy SwitchyOmega
- 过滤掉源图像中亮度大于滑块位置的
- 垃圾邮件过滤系统的详细设计过程及
- USB设备过滤驱动[Src+Bin]
- 东北大学软件学院面向对象程序实验
- ComboBox列表智能过滤,支持非首字符匹
- 基于系统过滤技术的推荐系统中期检
- 面向对象课程设计
- 电子商务违规词过滤
- 面向对象设计uml实践第二版课后题答
- 李爱华、程磊_面向对象程序设计课后
- Window文件监控微过滤驱动
- DataGridView过滤及
- Fiddler简单过滤规则1.ffx
- 一种基于多贝叶斯算法的垃圾邮件过
评论
共有 条评论