Hi all,

One of the challenges of writing good structural code in CloudStack is that the 
artifacts and their classes depend on each other with no code/filesystem 
structure. I want to discuss if it's a good idea to split all the interface 
classes files (from cloud-api, cloud-server, cloud-core) to either cloud-utils 
(which already provides a lot of reusable utils) or move them to a 
cloud-contract or cloud-interface artifact whose only purpose would be to 
provide interfaces or contracts between CloudStack components. The rules would 
be that cloud-utils provides reusable methods/utils via static methods and 
cloud-contract would just provide interfaces both of whose classes can be 
dependent on other classes within their artifact but they should be independent 
of anything else.

This would be just a move refactor, can be done after javelin is merged, can be 
done after 4.1, but would make it easier to write components so they won't have 
have cyclic dependency, tight coupling and a better filesystem structure.

Regards.

Reply via email to