Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. public class AController : BaseController
  2. {
  3. private bool validate()
  4. {
  5. //code for A validation
  6.  
  7. return base.validate();
  8. }
  9. }
  10.  
  11. public class BController : BaseController
  12. {
  13. private bool validate()
  14. {
  15. //code for B validation
  16.  
  17. return base.validate();
  18. }
  19. }
  20.  
  21. public class BaseController : Controller
  22. {
  23. protected bool validate()
  24. {
  25. //code for common validation
  26. return isValid;
  27. }
  28. }
  29.  
  30. public class AController : BaseController
  31. {
  32. protected override bool additionalValidate()
  33. {
  34. //code for A validation
  35.  
  36. return isValid;
  37. }
  38. }
  39.  
  40. public class BController : BaseController
  41. {
  42. protected override bool additionalValidate()
  43. {
  44. //code for B validation
  45.  
  46. return isValid;
  47. }
  48. }
  49.  
  50. public class BaseController : Controller
  51. {
  52. virtual bool additionalValidate() {
  53. return true;
  54. }
  55. protected bool validate()
  56. {
  57. //code for common validation
  58. return isValid && additionalValidate();
  59. }
  60. }
  61.  
  62. public class AController : BaseController
  63. {
  64. protected override bool abstractValidation()
  65. {
  66. //code for A validation
  67. }
  68. }
  69.  
  70. public class BController : BaseController
  71. {
  72. protected override bool abstractValidation()
  73. {
  74. //code for B validation
  75. }
  76. }
  77.  
  78. public abstract class BaseController
  79. {
  80. protected abstract bool abstractValidation();
  81.  
  82. protected bool validate()
  83. {
  84. //code for common validation
  85.  
  86. //then, call the implementations validation method
  87. var isValid = abstractValidation();
  88.  
  89. return isValid;
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement