Comments (4)
@reejosamuel, RxTodo is the most up-to-date code. Drrrible and Cleverbot will be updated soon :)
It's true that more enum cases can cause more complexity. But it has same complexity compare to the current architecture (Observables per each input/output). The most benefit of using enums is that compiler can validate unused/misused cases.
from rxtodo.
I tried the new action-state architecture you proposed. in the todo app i don't see any leaks at all when I open and close next view controllers. But in the dribbble one with the new architecture i still see some mismatch.
With the new architecture one thing I noticed is that the cyclometric complexity of a function can increase quite a bit in a larger application because of using so many switch cases. I was thinking how we could improve so many switch cases in the mutate
and transform
methods but overall it seems like much more single responsibility, easier to read and functional than earlier.
from rxtodo.
Not sure but there might be memory leaks. I'm currently working on a new code base(#19) which doesn't have memory leaks at all :)
from rxtodo.
@reejosamuel Nothing prevents you from breaking down your reducer into smaller reducers.
Your enum can contain other actions. I think that's how Elm-lang does it and Redux has its combineReducer()
from rxtodo.
Related Issues (13)
- empty text field HOT 1
- Every task as a section 🤔 HOT 4
- Why TaskListViewModel is dealloc? HOT 3
- Mutate Action to Observable<Mutation> HOT 2
- edit mode : state initialisation not sync with input text HOT 2
- Cell State bind and distinctUntilChanged problem HOT 2
- Distinct until changed HOT 3
- Multiple Sections
- Type 'RxTableViewSectionedREloadDataSource' has no member 'Section'
- Can't run pod install HOT 1
- View doesn't know what ViewModel does. HOT 4
- Not work HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rxtodo.