• [2020-06-12]Data Label


                                                                                                     Record Of Code Review

    ---- Subject : Data Label

    ---- Spec: Data label is completed by overlay

    ---- Question:

    1、Set rules to change some options for data point, So how to better design code structure to adapt to TS version and C# version ?

    Currently , instead of cloning, jack uses the method of saving the change records of

    each data instance to improve performance, however there is a issue for C# , which

    is that C# is not only support the js option but also support object as the parameter to pass

    So , to solve this issue, refactors about current code are as following :

    ① C# supports strong types,so jack should change the any type to specific type like IDatalabelOption

    ② Create a new option:compose option to encapsulate internal option in DV and option in plugin

    ③ User should use queryInterface to get property

    ④ Aboout the C# , Robin and jack need to work together to define specific interface


    2、When does the condition format work?

    Before layout

    and After the loading, all models are ready

    Whether the property is allowed to be modified determines whether its influence will change on the runtime moudle chain

    Note: the type of object can not be changed

     

    ---- Code Rules:

    1. Option of plugin can not be any type, it should be a interface

    2. Change the life scope.

    3. About animation, try to raise.

    4. Don't load in constructor, use lazy load.

    5. When sets the prop in the class constructor, the prop is const.

    ---- Design rules:

    Standard interface as a base class, other classes can inherit from it , then they will have no conflict with each other


    ---- Remaining problems:

    About inheritance between options , It is inconvenient for user to implement irrelevant attributes if there are too many inheritance levels

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Linux服务器使用tar加密压缩文件
    ssh-copy-id使用非默认22端口
    Nginx日志分割脚本
    MySQL的yum源
    vSphere Client开启虚拟机提示:出现了常规系统错误: 由于目标计算机积极拒绝,无法连接。
    ESXi主机遗忘密码重置密码
    扩容swap交换分区空间
    ESXi上的固态硬盘识别为非SSD
    VMware Vcenter Server 6.0忘记密码
    Centos6与Centos7区别
  • 原文地址:https://www.cnblogs.com/QQ-lala/p/13134176.html
Copyright © 2020-2023  润新知