From: Brett L. <wak...@ea...> - 2005-11-17 23:38:28
|
Ok... I've got the basic TokenHolderI interface constructed. I'm going to wait to commit it until I've got it more fully fleshed out. Rather than having classes implement the new interface, I'm instead having various interfaces extend from the TokenHolderI interface. So, locally I have this hierarchy: TokenHolderI > StockSpaceI > StockSpace TokenHolderI > CompanyI > Company TokenHolderI > CompanyI > Company, PublicCompanyI > PublicCompany TokenHolderI > CompanyI > Company, PrivateCompanyI > PrivateCompany TokenHolderI > TileI > Tile TokenHolderI > Station I can't really see a reason why PublicCompany should implement TokenHolderI and some other class implementing CompanyI shouldn't. Right now, "Token" is just an instance of the owning company. I think an instance of the owning company is sufficient. It's already working that way for StockSpace. For things like 1870's cattle and port tokens, their effects are directly linked to their respective PrivateCompanies, so I think those sorts of special behaviors should extend from Company or PrivateCompany or perhaps Tile because their effects are only processed when the Token is on a Tile. I'd also like to verify one thing: Is there any type of Token that isn't directly related to a Company? ---Brett. |