Click here to Skip to main content
15,888,527 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Questions About Entity Framework and the Repository Pattern Pin
Kevin Marois29-Jun-18 7:46
professionalKevin Marois29-Jun-18 7:46 
GeneralRe: Questions About Entity Framework and the Repository Pattern Pin
Nathan Minier29-Jun-18 8:03
professionalNathan Minier29-Jun-18 8:03 
GeneralRe: Questions About Entity Framework and the Repository Pattern Pin
Kevin Marois29-Jun-18 8:27
professionalKevin Marois29-Jun-18 8:27 
AnswerRe: Questions About Entity Framework and the Repository Pattern Pin
Gerry Schmitz29-Jun-18 10:38
mveGerry Schmitz29-Jun-18 10:38 
QuestionMEF based Web API Pin
Mycroft Holmes28-Jun-18 21:12
professionalMycroft Holmes28-Jun-18 21:12 
AnswerRe: MEF based Web API Pin
Nathan Minier29-Jun-18 7:15
professionalNathan Minier29-Jun-18 7:15 
GeneralRe: MEF based Web API Pin
Mycroft Holmes30-Jun-18 13:36
professionalMycroft Holmes30-Jun-18 13:36 
QuestionPython-ic way of efficient TV player app architecture Pin
ninjaef27-Jun-18 0:06
ninjaef27-Jun-18 0:06 
So I have a IPTV app, at the moment its monolithic code and I want to spearate it out to make it more python-ic.
So,
I conceptually, I have:-
LiveTV which can play live TV Channels, or Video On Demand (VoD),
Both VoD and Live TV channels are a Stream,
A Stream has a name and a URL source.
A TVchannel is a Stream + a uid, a descriptive name, an EPG id, a channel-group, a logo-URL.
A VoD is a Stream + a playlength
An EPG which is a collection of Grouped TVchannels.

Then,,
I have an M3U file which defines sources of Channels and VoD, I have parsed and all works fine. But, from this I need to create a collection of TVchannels and a colleciton of Groups. For Groups, each Group contains a list of the stream uid so that the player can switch Groups and list all the streams (TVchannels / VoD) in that group - No need to store all channel info in each group, just the uid, which I can then use as a lookup into the colleciton of Channels.
The player can present a list of Groups and inside each list, the list of TVchannel names , to be selected for play. Or, the player can present an EPG and the user can select Groups in the EPG which will then list the channels and programmes.

All this works fine, but as I say, its monolithic and not OOP/Pythonic.

All I am seeking is advice/guidance/expertise on how best I could model the different elements of the app to maximise efficiency and modularity using types/classes the "Pythonic" way. In other words, a Pythonic architecture - how would you attack this? How might the architecture look if you were doing this. That's what Im interested in, views/opions/examples/rationale.

So, What I have tried:

Looked at modules, class, inheretance, properties, abstract classes, factories, lists, tuples, named tuples, sets, .... the list goes on. Ive got a headache, there are so many ways one might do this , but what would YOU do!?

I have read online Py Documentation, and read tutorials at TutorialPoint.

Also examined GitHub projects for simiar apps. Cannot find anything similar, but if i did, i would prefer an explanation which Im not going to get.



So this quesiton is not about training in OO/OOP, I dont need that, it is about the Python-ic way to implement such an architecture: @Property, setter/getters, discrete def()s, class attributes, instance attributes, lists/tuples/dicts, and how the class hierarchy might look if you were to attack this.
AnswerRe: Python-ic way of efficient TV player app architecture Pin
Richard MacCutchan27-Jun-18 2:44
mveRichard MacCutchan27-Jun-18 2:44 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef27-Jun-18 4:36
ninjaef27-Jun-18 4:36 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Richard MacCutchan27-Jun-18 4:45
mveRichard MacCutchan27-Jun-18 4:45 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef27-Jun-18 5:15
ninjaef27-Jun-18 5:15 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef27-Jun-18 5:37
ninjaef27-Jun-18 5:37 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Richard MacCutchan27-Jun-18 6:22
mveRichard MacCutchan27-Jun-18 6:22 
AnswerRe: Python-ic way of efficient TV player app architecture Pin
Gerry Schmitz27-Jun-18 10:50
mveGerry Schmitz27-Jun-18 10:50 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef28-Jun-18 6:52
ninjaef28-Jun-18 6:52 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Richard MacCutchan28-Jun-18 6:54
mveRichard MacCutchan28-Jun-18 6:54 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef1-Jul-18 21:36
ninjaef1-Jul-18 21:36 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Richard MacCutchan1-Jul-18 21:53
mveRichard MacCutchan1-Jul-18 21:53 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
ninjaef2-Jul-18 8:47
ninjaef2-Jul-18 8:47 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Richard Deeming28-Jun-18 7:44
mveRichard Deeming28-Jun-18 7:44 
GeneralRe: Python-ic way of efficient TV player app architecture Pin
Gerry Schmitz28-Jun-18 8:09
mveGerry Schmitz28-Jun-18 8:09 
AnswerRe: Python-ic way of efficient TV player app architecture Pin
Pete O'Hanlon2-Jul-18 3:04
mvePete O'Hanlon2-Jul-18 3:04 
QuestionUser Defined Lookups Pin
Kevin Marois26-Jun-18 8:05
professionalKevin Marois26-Jun-18 8:05 
AnswerRe: User Defined Lookups Pin
Mycroft Holmes26-Jun-18 14:51
professionalMycroft Holmes26-Jun-18 14:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.