属性模式是笔者提出的一种设计模式,本质上是针对求解器数据的特点,对已有设计模式的融会贯通和应用。 问题的提出: 求解器处理的单元数据有如下特点: 1.单元数据量大,一般都在百万千万级别以上; 2.单元几何数据格式固定,含有各种属性数据; 3.单元的属性种类多,且较多重复数据; 4. 一个模型中单元类型数有限; 5. 不会有海量的属性数据; 属性模式需要使用以下基本设计模式:
扩展可以加入: 1. 桥接模式;2. 观察者模式 UML图如下: 说明:
改进: 1.该模式中当数据改变时,可以加入Observor模式,更新每种属性数据; 2.属性可以根据实际情况利用Bridge模式分成固定的几大类型,比如几何,网格,荷载类型等等; 属性模式的优点: 1. 将单元内部的属性转移到外部,简化单元内部数据结构,从设计上避免大量数据的拷贝; 2. 通过外部属性的管理,将属性和单元分离,使得属性和单元在设计上可以独立变化; 3. 通常情况下,一个模型的单元类型的属性都是相同的,所以属性模式能很好的满足求解器的数据要求,尤其是非通用仿真求解器。 属性模式针对使用有限元方法的求解器数据结构管理,具有普遍适用性。 属性模式的缺点: 1. 需要管理复杂的属性类,当属性类别越来越多时,增加管理复杂度; 2. 数据量大的时候,属性数据操作会有一些性能损失,当然跟求解器计算时间相比,微不足道。 |
|