Ocinine is our participation to a Channel 9 contest. Ocinine is the perfect name to understand what we want to do. Ocinine (read OC9) means 'Open channel 9'. Our goal is to make avalaible the media content of Channel 9 to any 'Host Application'. Follow us as we create the new way to see Channel 9.


The true Start

Ok, the first post on the blog was titled: «A little Start». It was the first time you could ear from us talking about our project. Now, «the true start» is gonna be the first time you gonna see us giving you under the hood secrets of Ocinine.

At first, we wanted to show you a class diagram of Ocinine. Now, we talked about it and we gonna show you piece by piece and explain it to you in the same time.

If you read the description of the project. You should know by now that we want to create an abstraction layer. Like I said here, we gonna use a lot of Design Pattern. The first one (an easy one) I'm gonna explain is the Factory Method for the NewsManager. :

In this pattern, we use 4 class/interface. The First one, the OcinineManager Abstract class, is the one we gonna use to manage all the services provided by our project. The OcinineManagerImpl is the «Real» implementation of our Manager. (I'm not sure If I really need to explain the goal of an abstract class or interface implementation, but..) Doing this, we could easily change some functionality of the application without breaking all our project.

The third object we gonna look is the NewsManager interface. The NewsManager is responsible to retrieve all the content of channel 9. It's also by this interface that we gonna manage the history of news read or not. So, The NewsManager is the product(see the Factory Method) we need to interact with Channel 9. The last Object, NewsManagerImpl, is the default implementation of the NewsManager.

Hope you gonna appreciate the way were going to do it. If you need more explanation, leave a comment!