Configuration => Model und Daten!?



  • Guten Morgen,

    ich bin dabei eine Configurations-model zu entwerfen! Dabei werde ich mir aber überhaupt nicht einig, wie ich das designen soll!

    Zum einen habe ich ja die Configuration welche aus Elementen mit diversen Abhängigkeiten besteht, welche ich dann irgendwie speichern bzw. laden muss!

    Das heist ich habe pro Element eine Daten und eine Model Klasse.. !? Ist das die richtige vorgehenweiße.. ich werde mir einfach nich einige wie man das am schönsten löst 😞

    Bspw.:

    Hier habe ich zu jedem Configurations-Element eine Info-Element! Also viel Redundanz, allerdings enthalten die Info-Elemenen und Daten, und die Configuration-Elemente haben logik.. bspw. zur validierung

    Macht man das so, trennt man das auf, auch wenn es viele redundanzen gibt? Also zu jedem Element-Klasse auch eine Info-Klasse?

    class Bar
    	{
    		public Bar(Foo owner, string data)
    		{
    			Owner = owner;
    			Data = data;
    		}
    
    		public Bar(BarInfo info)
    		{
    			throw new NotImplementedException();
    		}
    
    		public Foo Owner { get; private set; }
    		public string Data { get; private set; }
    	}
    
    	class Foo
    	{
    		public Foo(FooInfo info)
    		{
    			Name = info.Name;
    			_elements = info.Elements
    				.Select(it => new Bar(this, it.Data))
    				.ToList();
    		}
    
    		public Foo(string name)
    		{
    			Name = name;
    			_elements = new List<Bar>();
    		}
    
    		private readonly List<Bar> _elements;
    
    		public string Name { get; private set; }
    
    		public IEnumerable<Bar> Elemente { get { return _elements; } }
    
    		public void Add(string data)
    		{
    			_elements.Add(new Bar(this, data));
    		}
    
    		public FooInfo ToInfo()
    		{
    			return new FooInfo()
    				{
    					Name = Name,
    					Elements = _elements
    					.Select(it => new BarInfo() { Data = it.Data })
    					.ToList()
    				};
    		}
    	}
    
    	class FooInfo
    	{
    		public FooInfo()
    		{
    			Elements = new List<BarInfo>();
    		}
    
    		public List<BarInfo> Elements { get; set; }
    
    		public string Name { get; set; }
    	}
    
    	class BarInfo
    	{
    		public string Data { get; set; }
    	}
    


  • Also ich kann dir nicht folgen was du überhaupt machen willst 😕

    Eine Datenklasse? 😕


Anmelden zum Antworten