• 【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:
    设定信息格式、内容

  • 相关阅读:
    dotnetCore增加MiddleWare的Run,Use Map MapThen四个扩展方法
    人脸识别FaceNet+TensorFlow
    人体姿态估计(骨骼关节点检测)发展历程回顾
    基于人脸的用户识别方案及思路
    人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIB&OpenCV人脸检测方法及对比)
    基于opencv+ffmpeg的镜头分割
    如何让两个线程交替打印整数1-100?你的答案呢?
    Ubuntu16.04+TensorFlow r1.12环境搭建指南
    在Eclipse中打jar包
    Linux常用快捷键
  • 原文地址:https://www.cnblogs.com/Wille-zur-Macht/p/3784631.html
Copyright © 2020-2023  润新知