What is the Difference Between a Service and a Model?

Structurally these base classes are the same, but they are there to define the seperate concerns of the Service and Model tiers of the MVCS implementation:


A concrete service class defines the API of an external Service.


Defines the API of the applications data model.

So, while the base classes are similar, the concrete classes created by extending these base classes serve two entirely different purposes.