• 大小: 95KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: KWIC  面向对象  过滤  

资源简介

软件体系结构的作业,用了比较经典的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个文件信息

评论

共有 条评论