Object Oriented Programming using C#

(backadmin) #1

Object Oriented Programming using C#
Case Study


This is a design judgement – introducing classes for significant entities (Client, Message etc.) which have a set of information
and behaviour belonging to them, but not overloading the design with trivially simple classes (e.g. credit which would
just contain an ‘int’ instance variable together with a property or accessor method!).


Verbs describe candidate methods and we should be able to identify the classes these could belong to. For instance :-


•    For a ‘client’:


  • decrease credit
    • For a ‘message’:

  • decrement days


The other verbs describing potential methods should also be listed:-
• display
• add (client to book)
• add (message to set)
• lookUp (client in book)
• purge
• decrement
• expire
• delete


For each of these the associated class should be identified.


Common Characteristics


The final step in our preliminary analysis is to identify the common characteristics of classes and to identify if these classes
should these be linked in an inheritance hierarchy or linked by an interface.


Looking at the list of candidate classes provided we can see that two classes that share common characteristics:-
• DisplayBoard
• DummyDisplayBoard


This either implies these classes should be linked within the system within an inheritance hierarchy or via ‘an interface’(see
section 4.5


Interfaces).In this case the clue is within the description “These will have a ‘connection’ to the rest of the system via a
‘well-defined interface”.


Ultimately our system should display messages in a real display board however it should first be tested on a dummy display
board. For this to work the dummy board must implement the same methods as a real display board.

Free download pdf