Design - TeamGroup-Org/CS2263_Project1 GitHub Wiki
Sequence Diagrams
Begin Game
Playing a Tile
Tile Played Between two Corporations
Buying Stocks
Drawing a Tile
Ending the Game
Implementation Class Diagram
Design Patterns
Two new classes were added to adhere to the single responsibilty principle. TileTray will handle giving out tiles, CorporationTray will hold corporation information.
Duplicate code was removed to adhere to the "DRY" principle.
Loose Coupling: Certain Class no longer have access to other classes (no longer associated).
Loose Coupling: Board no longer depends on tiles or buildings.
Seperation of Concerns: UI class can no longer directly interact with the board. StockMarketTray can no long affect the board. UI no longer directly associated with Banker class.
Principle of Least Knowledge: Classes that shouldn't have had access to other classes had access removed.
Facade Design Pattern: Users can no longer directly interact with classes.