Using services to maintain application / page states


Since Ember is moving away from controllers we thought of limiting controllers usage to bare minimum.

We have come up with a new pattern but we are not sure if it can be considered as best practice while using services.

State Services A service which keeps track of various application / page states like selected filters, sort order which stores and retrieves by using key/values (basic implementation for now).

Components are injected with these services and they modify states directly. They are strictly limited to access states related to them. Not listening on any other states

Inter component communication happen through common parent (Not sure if I let them listen on dependent states or strictly limit to depend on parent).

Default States Router initializes default states relevant to its components. Which hook should I use here?

Query Params If there are any query params router reads them directly from services if required.

What are your thoughts on it. Please let us know.