动态价值是否会对性能产生影响?

2020-09-12 17:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想通过动态属性向某些对象添加某...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想通过动态属性向某些对象添加某些行为。 我还担心那些属性是否经常使用,那么,每次调用属性处理程序都会影响性能吗? 例如,假设我要向产品添加属性" isSpecial",该属性将基于其他一些属性即时计算。 如果每次我将产品添加到购物车时都要调用此方法,是否应该将逻辑移到服务中(并分散到很多地方)以节省性能(对于像购物车这样的重物)?

我应该像这样调用属性处理程序吗?

 公共类ProductXXXAttributeHandler实现DynamicAttributeHandler  {
 
      @Override
      public Boolean get(ProductModel product){
          返回product.getExclusiveTill()!= null?product.getExclusiveTill()。after(new Date()):false;
      }

  

或者我应该将其移至"添加到购物车策略"中,例如:

 公共类XXXCommerceAddToCartStrategy扩展了DefaultCommerceAddToCartStrategy {
 
   公共CommerceCartModification addToCart(CommerceCartParameter参数)抛出CommerceCartModificationException {
  ...
  ProductModel产品= paramter.getProduct();
 
  isExclusive = product.getExclusiveTill()!= null?product.getExclusiveTill()。after(new Date()):false;
 
  ....
  }


  

哪个人会更快?

2条回答
nice_wp
2020-09-12 18:20

如果我必须使用逻辑 product.getExclusiveTill()!= null?product.getExclusiveTill()。after(new Date()):false; 在没有其他任何地方添加到cnd的同时,我将其保留在该策略中; 否则(为了使产品属性的此计算值可在多个地方重复使用(例如用于个性化等),我将使其动态化。

一周热门 更多>

相关问答