Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Following the Software Design patterns during refactoring #506

Closed
Dvik opened this issue Mar 3, 2017 · 1 comment
Closed

Following the Software Design patterns during refactoring #506

Dvik opened this issue Mar 3, 2017 · 1 comment

Comments

@Dvik
Copy link
Contributor

Dvik commented Mar 3, 2017

Problem description

The app as of now doesn't follow any specific software design pattern. Though i can see some controllers, the design is not followed by all the activities.

The basic idea is to separate the business logic from the UI. At present, the Activity seems to be handling everything from UI to data logic and business logic. Following a Design Pattern like MVP will make the code testable, readable as well as maintainable.

As far as UI is concerned, if we are able to separate the logic from the UI using these design patterns, we need not worry about changes in UI. The logic and data will remain intact irrespective of the UI.

There are three good options available: MVC, MVP and MVVM. Though, MVP or MVVM are generally followed for Android Development.
A good discussion on application of these patterns in Android can be found at various places on the web but this link is a good comparison of these three patterns: https://realm.io/news/eric-maxwell-mvc-mvp-and-mvvm-on-android/ . There's also google samples available for MVP.

This thread is just meant for discussion on whether we should work in this direction now or later and also to zero down on to a design pattern which will be universally followed throughout the app.

@seadowg
Copy link
Member

seadowg commented Sep 19, 2019

These are all good ideas and I think the app's architecture is starting to improve bit by bit (and moving towards the "cleaner" structure discussed here).

I'm closing this for the moment as there isn't tangible outcome that would let us close this in the future.

@seadowg seadowg closed this as completed Sep 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants