Having different models is a good way to do this.
This will undoubtedly make your design more complex, but will certainly increase the usability of your application. If you are creating an application that should be evolutionary in future updates, then divide your model into several models. This will help you if you want to add another entity to your application.
Perhaps your books will be assigned to people, then you add the IPersonModel interface and the other three interfaces (INotebookModel, ICometModel, IItemModel), will remain untouched.
However, if your application is simple and you want to support rapid development, just focus your model on one large model. But be careful if your application gets larger, this model will become more and more complex, as it will handle almost all of the application's features, and you will have to blow it up to many of them.
So, separate your answers, this is one of SOLID. You can go ahead and take a look at this: http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
source share