Я ищу лучший способ реализовать это, по существу, шаблон, который будет соответствовать, учитывая объект, который имеет отношения с родными братьями и детьми.Консультирование по выбору объекта состояния объекта на основе компонентов
Мы имеем сложный набор правил, которые устанавливают состояние каждого объекта
например,
- п родственных объектов «типа» А, то состояние каждого является й
- п родственных объектов «типа» А и «типа» В затем состоянии каждый есть у
Есть вероятно, 3 или 4 больше вариаций на этой
с каждым собратом приемят состав его дочерних объектов будут determe это «тип»
Надеется, что это достаточно ясно, пожалуйста, комментарий, если вам й чернила Я могу добавить больше разъяснений?
редактировать:
добавил некоторые псевдо-код
состояние быть сохранялось вдоль стороны objecst Foo (не FooBar или бар) и состояние обновляется на управляемый пользователем событие (пользователь может ammedn смесь Фоос и баров, что потом генерировать событие reinterigate, набор состояний и сохраняются в базе данных)
надеюсь, что это помогает
void Main()
{
var foobar = GrabAFooBar();
//Each Foo will have its state set based on the rules in the question
//eg
//foobar has 2 Foos both of which only contain BarType1 then both foos have a State of StateOne
//foobar has 2 foos, one has a BarType1 one has a BarType2 both foos have a State of StateTwo
//foobar has 2 foos, one has a BarType1 and BarType3 one has a BarType2 both foos have a State of StateThree
//effectivaly there are 5 States (currently) and a well defined set of combinations
//All foos will have the same state at the end of the process (there will never be a mix)
}
FooBar GrabAFooBar()
{
//return a FooBar from data
}
// Define other methods and classes here
class FooBar
{
List<Foo> Foos {get;set;}
}
class Foo
{
public List<Bar> Item {get;set;}
public State state {get;set;}
}
abstract class Bar
{
}
class BarType1 : Bar
{
}
class BarType2 : Bar
{
}
class BarType3 : Bar
{
}
enum State
{
StateOne,
StateTwo,
StateThree
}
Можете вы добавить код псевэ? – Nick
'С каждым родственным объектом состав его дочерних объектов определял бы его« тип »- тип, как в« состоянии »или фактически« тип »- я думаю, что вы должны предоставить некоторый код - сделайте несколько« FooA »и «иерархия» у вас есть - так трудно следовать, может означать слишком много вещей. – NSGaga
@NSGaga Теперь я буду работать над некоторым кодом, да, они оба «состояния» действительно, хотя состояние родительского объекта существует только путем взаимодействия его детей, это состояние, обнаруженное путем опроса братьев и сестер вместе, которые должны сохраняться на каждом родительском объекте – Pharabus