c# - how can we configure null removable components(object field) of a class? -


suppose have class components(object fields) of them can null(removed) suitable create new class without (component) field or use interface handle it. suppose have several components can removed objects thx in advance

public class class1{    component1 component1;    component2 component2;    component3 component3;//can null (removed)    component4 component4;//can null (removed) } public class class2{//removed component3,component4(new class)    component1 component1;    component2 component2;       } public class class3{//removed component3(new class)    component1 component1;    component2 component2;      component4 component4;   } public class class4{//removed component4(new class)    component1 component1;    component2 component2;          component3 component3;       } 

or use interface

public interface icomponent1{  } public class component1:icomponent1{  } public class nocomponent1:icomponent1{  } public interface icomponent2{  } public class component2:icomponent2{  } public class nocomponent2:icomponent2{  } public interface icomponent3{  } public class component3:icomponent3{  } public class nocomponent3:icomponent3{  } public interface icomponent4{  } public class component4:icomponent4{  } public class nocomponent4:icomponent4{  } public class class1{     icomponent1 componentbehaviour1;     icomponent2 componentbehaviour2;     icomponent3 componentbehaviour3;     icomponent4 componentbehaviour4; } 

or check null condition(if needed) in methods of class.

based on experience better follow object oriented principles. in case think should create class first mandatory fields:

    public class class1{    component1 component1;     component2 component2;    } 

then using interfaces each nullable fields, like:

 public interface interface1{        component1 component3;         } 

and interface like:

public interface interface2{            component1 component4;             } 

then in class have:

public class class2: class1, interface1 

and classes like:

    public class class2: class1, interface2     public class class3: class1, interface1, interface2 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -