zoukankan      html  css  js  c++  java
  • 【P000-011】重构交易费计算系统

    主界面基本功能都已实现,现在要添加转债页面及相关功能,原有的一些问题也暴露了出来,大约有两个,一个是界面类中控制操作其他类的代码太多,理论上界面类应该只负责操作页面和传递数据给控制类,另一个是各功能类的分类不合理。

    磨刀不误砍柴工,先重新理清下软件应有的结构,再按照这个结构来重构代码,该剥离的剥离,该合并的合并

    一、com.qiang.tradingfeecount界面操作类包
    两个类对应两个界面
    一)、CountActivity 主界面:
    1、通过交互界面获取路径及其他参数,将这些信息给AccessNI处理,获取AccessNI回传的Myhandler
    2、通过交互界面获取用户所输入买卖数据及佣税费参数,并调用ModeSelection分析计算,显示相应结果

    二)、ConverActivity 转债页面
    1、接收传入的转债价格信息(若有,未实现)
    2、计算转债转股所得及盈亏


    二、tradingfeecount 控制类包
    一个类ModeSelection
    一)、ModeSelection:
    操作从界面控制类CountActivity/ConverActivity 传入信息,调用CalTools处理或计算并返回


    三、com.qiang.dataprocessing 数据处理类包
    三个类CalTools、ChooseColor、StockInfAnaly
    一)、CalTools:
    操作从ModeSelection传入数据(以BigDecimal形式保证精度)

    二)、ChooseColor:
    通过传入数据给出显示颜色设置


    三)、StockInfAnaly:
    操作从CountActivity所获取股票信息,分割,组合并返回



    四、com.qiang.network网络功能包
    三个类
    一)、AccessNI:
    生成线程,操作从ModeSelection所获取参数(未实现,暂时在界面类直接传入),调用org.apache.http.* 将参数规范格式化并传出,再将网络返回值传给StreamTools,根据返回结果生成相应NIHandler回传给主线程

    二)、StreamTools:
    获取网络返回值并解析,调用ByteArrayOutputStream将之转为string(最大[1024]位)并返回

    三)、NIHandler:
    设定信息格式、内容

  • 相关阅读:
    点击子窗体给父窗体上的对象赋值
    框架使用及规范参考
    像Google日历一样的日程管理
    TreeView 和 Menu 的用法
    甘特图-svg版 支持客户端事件
    js获取DropDownList的选择项
    GridView,Repeater分页控件:WebPager(开源)
    TextBox 禁止客户端输入 前台通过JS赋值 并在后台获取
    对象实体 参考标准
    以编程方式控制ScriptManager
  • 原文地址:https://www.cnblogs.com/Wille-zur-Macht/p/3784631.html
Copyright © 2011-2022 走看看