Functional Areas - mobitile/mobitile.github.io GitHub Wiki
Overview
All code base of Mobitile application separated into independent modules called Functional Areas. As described in Cairngrom 3 Guidelines:
A functional area is essentially a part of an application that serves a specific purpose for the user.
Each functional are incapsulated in its own package, for example com.mobitile.albums
package contains all functionality related to albums and is Albums functional area.
Functional area following Layered Architecture divided on architectural layers incapsulated in four possible packages:
com.mobitile.albums.application
com.mobitile.albums.domain
com.mobitile.albums.presentation
com.mobitile.albums.infrastructure
Also each functional area contains Config.as
class in its root package (e.g. com.mobitile.albums.ConfigAlbums.as
) that provides Inversion Of Control Container with instances that should be available for Injection. Also it declares commands and interceptors, that more related to Parsley Framework.
Functional Areas in MobiTile
MobiTile 1.5 contains next functional areas:
- albums - working with albums
- auth - authentication and authorization
- contacts - working with contacts on the server and device sides
- core - this is special functional are that shares code with others
- diary - working with diary
- incomings - incoming messages
- index - dashboard screen
- messenger - chat and other messaging functionality
- profile - current user profile
- settings - current user settings
- showcase - slides for first launch
- social - working with social networks and feeds
- storages - working with storages
- wizard - helps setup application
Core Functional Area
TBD