代码之家  ›  专栏  ›  技术社区  ›  M06H

代表了许多可以成长的独特类别

  •  2
  • M06H  · 技术社区  · 6 年前
    data class SpecialTypeContract(
            val value: BigDecimal,
            val excess: BigDecimal
    )
    
    data class CustomerContract(
            val name: String,
            val value: BigDecimal,
            val specialType:  SpecialTypeContract?,
            val itemContracts: List<ItemContract>
    )
    
    data class ItemContract(
            val name: String,
            val value: BigDecimal,
            val excess: BigDecimal
    )
    
    
    Category  |  options
    TypeA  |  Special
    TypeB  |  item and special
    TypeC  |  item 
    TypeD  |  item
    

    在我的应用程序中,我允许客户购买 CustomerContract 它可以收集 ItemContract 和/或 SpecialTypeContract .

    我支持很多种类,这可以发展。对于每个类别,我定义它们是否可用 或作为 项目合同 .

    对于上述每个类别,都有一组 excess 可供选择的选项,即300、800、1000。类别也可以有 rate/interest 级别,例如0.1、2.1等。

    我的问题是,有没有一种设计模式可以用来表示类别和契约之间的这种关系 Special Item ?

    我应该怎样表现这些 categories types A...D 并为客户提供哪些选择?我应该使用数据结构还是类层次结构,因为类型列表可能会在以后增长,并且具有诸如可用超额集和利率/利息之类的属性?

    0 回复  |  直到 6 年前