Rise-Media-Player icon indicating copy to clipboard operation
Rise-Media-Player copied to clipboard

MVVM

Open esibruti opened this issue 2 years ago • 6 comments

What's the Problem?

We have to do a lot of work on the code part. UWP is meant to be programmed with the MVVM pattern. RiseMP, from what I have seen, is very poor on this. For maintenance it becomes much better and much easier. Many UWP applications use MVVM.

It has to be done during Alpha Preview / Alpha. A step in this direction is to from now on program / add new features using the MVVM pattern.

Solution/Idea

Ex: We have to pass the code in NowPlayingBar.xaml.cs to a ViewModel.

Alternatives

N/A

Rise Media Player Version

No response

Windows Version

No response

Comments

No response

esibruti avatar Mar 28 '22 11:03 esibruti

This is an important issue to work on so I'll pin this.

We have to pass the code in NowPlayingBar.xaml.cs to a ViewModel.

That's not the only thing we should do tbh, there's a LOT more than this.

We have to do a lot of work on the code part. UWP is meant to be programmed with the MVVM pattern. RiseMP, from what I have seen, is very poor on this.

Not being rude, but @josephbeattie and @rounk-ctrl messed up on that part a bit, assuming they're both beginners.

Also btw, not everything needs to be in the MVVM pattern.

itsWindows11 avatar Mar 28 '22 11:03 itsWindows11

Also btw, not everything needs to be in the MVVM pattern.

I agree with you, not everything will need to move to a ViewModel but we have to start prioritizing that because to do maintenance and add functionality, right now, it gets confusing and complicated since it is "all spread out".

This is one reason why there are so few contributors to the Rise Media Player.

esibruti avatar Mar 28 '22 11:03 esibruti

I also think we should debloat some of the ViewModels and outright remove a few, some do stuff that they shouldn't be responsible for and others just wrap a model without property change notifications.

There's also a lot of singletons in App.xaml.cs, some of which I think would work better as static classes.

YourOrdinaryCat avatar Apr 01 '22 16:04 YourOrdinaryCat

Wouldn't it be better to start working on these changes for the next version?

esibruti avatar Apr 01 '22 16:04 esibruti

I was working on improving that internally, but there's lots of code and I don't have much time. Certainly will be improved by the next release though.

YourOrdinaryCat avatar Apr 01 '22 16:04 YourOrdinaryCat

I was working on improving that internally, but there's lots of code and I don't have much time. Certainly will be improved by the next release though.

The best way to start is when we mess with parts of the code that is not in MVVM, is to do like this or even, new features and things like that is to do it right the first time

esibruti avatar Apr 01 '22 21:04 esibruti