To keep development during the implementation phase organized, I set naming conventions for the project, I created a domain diagram and at last I create a full fledged class diagram containing a detailed overview of the inner workings of CP Social
Naming convention
To make sure no classes from CP Social would intervene with any other classes other project I made sure would all be contained within the same ‘CPSocial’ namespace and all classes would start with the prefix ‘CP_‘ and all interfaces would start with the prefix ‘ICP_‘.
Domain diagram
To keep the realization phase organized I first created a domain diagram during the design process, this diagram is an abstract representation of the inner workings of CP Social. It shows the most important relationships between services within CP Social.
In the above diagram it shows that the main point of entry to CP Social goes via the ‘CP_Social’ class. This class contains an instance of the interface ‘ICP_Social’ this is interface contains all platform specific implementations of the Authentication service (ICP_AuthSerivce), cloudsave service (ICP_CloudSaveService) and the achievement service (ICP_AchievementService).
Class diagram
The domain diagram doesn’t show a lot about the inner workings per service. It only realy shows how all services are connected within CP Social.
For a more detailed view of the inner workings per service a class diagram was created, the class diagram below is just a fraction of the entire class diagram for CP Social. To see the entire class diagram per namespace click here.