using StructureHelperCommon.Infrastructures.Interfaces; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StructureHelperLogics.NdmCalculations.Analyses.ByForces.LimitCurve { public class LimitCurvesCalculatorInputDataCloneStrategy : ICloneStrategy { private IUpdateStrategy updateStrategy; public LimitCurvesCalculatorInputDataCloneStrategy(IUpdateStrategy updateStrategy) { this.updateStrategy = updateStrategy; } public LimitCurvesCalculatorInputDataCloneStrategy() : this (new LimitCurvesCalculatorInputDataUpdateStrategy()) { } public ILimitCurvesCalculatorInputData GetClone(ILimitCurvesCalculatorInputData sourceObject) { LimitCurvesCalculatorInputData newItem = new(); updateStrategy.Update(newItem, sourceObject); return newItem; } } }