code_junkie

How will I know when to create an interface?

Nov 13th, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. a.Process();
  2. b.Process();
  3. c.Process();
  4. d.Process();
  5.  
  6. List<IProcessable> list;
  7.  
  8. foreach(IProcessable p in list)
  9. p.Process();
  10.  
  11. public void RunThenWalk(Monkey m) {
  12. m.Run();
  13. m.Walk();
  14. }
  15.  
  16. public void RunThenWalk(Dog d) {
  17. d.Run();
  18. d.Walk();
  19. }
  20.  
  21. public void RunThenWalk(IAnimal a) {
  22. a.Run();
  23. a.Walk();
  24. }
  25.  
  26. if(myObject is Boat) ((Boat)myObject).Drive()
  27. else if (myObject is Car) ((Car)myObject).Drive()
  28.  
  29. ((IDrivable)myObject).Drive()
  30.  
  31. myBusinessObject.Save(controlA.Data);
  32. myBusinessObject.Save(controlB.Data);
  33. myBusinessObject.Save(controlC.Data);
  34.  
  35. foreach(Control c in Controls)
  36. {
  37. ISaveable s = c as ISaveable;
  38.  
  39. if( s != null )
  40. s.SaveToBusinessObject(myBusinessObject);
  41. }
  42.  
  43. interface ILogger
  44. {
  45. void Log();
  46. }
  47. class FileLogger : ILogger
  48. {
  49. public void Log() { }
  50. }
  51. class DataBaseLogger : ILogger
  52. {
  53. public void Log() { }
  54. }
  55. public class MySpecialLogger : SpecialLoggerBase, ILogger
  56. {
  57. public void Log() { }
  58. }
  59.  
  60. public interface IUser()
  61. {
  62.  
  63. void AddUser(string name ,string fname);
  64.  
  65. }
  66.  
  67. public class BussinessLayer: IUser,IOrder,IOrderItem
  68.  
  69. {
  70.  
  71. public void AddUser(string name ,string fname)
  72. {
  73.  
  74. //do stuffs here.
  75. }
  76.  
  77. //All methods from all interface must be implmented .
  78.  
  79. }
  80.  
  81. IUser user = new (IUser)BussinessLayer();
  82.  
  83. // It will load all methods into memory with are declared in IUser interface.
  84.  
  85. user.AddUser();
Add Comment
Please, Sign In to add comment