Skip to content

Improvement of uitypes creation

Enhancement require refactoring of the current code base to achieve these goals:

  1. Be able to add uitypes without touching existing code. 
  2. Any added uitype should be available for all modules.

Currently the CRMEntity class is a violation of the "Open-Closed principle" that states that systems, classes, functions, etc... should be "open for extension but closed for modification". That is because to add a new uitype, you will likely have to add code to that class. UITYPE specific code, should go into uitype specific classes and they should be independent of each other.