Silverlight Project (Using MEF, Separation of Concerns, Loosely Coupled Components, Service Locator pattern)
VS2010
Silverlight Business Application
Right click project>Add New Solution folder (sf)
Use these folders to separate Assemblies, Client and Service sections
*Client*(sf) contains
-Client(f) (References to all Client projects)
~App.xaml initializes IoC and checks silverlight installation (plus has
source for extending view xaml)
~Web service references created in the Service Section
(ServiceReferences.ClientConfig)
-Data(f) (References to none)
~Objects
-Common(f) (References to Data)
~Views(f) Interfaces (used to bridge to View project)
~Models(f) Interfaces (used to bridge to Model project)
~ViewModels(f) Interfaces (used to bridge to ViewModel project)
~RelayCommand class (xaml buttons bind to these)
~IoC class
~WebContext class
-View(f) (References to Common, Control, Data)
~XAML
~Load into IoC (Uses MEF to load the ViewModel)
-ViewModel(f) (References to Common, Data)
~Observable(f) (Objects used in the View)
~Wires up RelayCommand
~Instantiates objects that do the heavy lifting
-Model(f) (References to Common, Data)
~Web service references created in the Service Section
(ServiceReferences.ClientConfig)
~BaseModel.cs with MEF Export
-Controls(f) (References to Common, Data)
~Menu(f)
~Basically XAML helpers
*Server*(sf)
-Web(f) (References to Calculate, ServiceProviderWeb, ServiceData)
~Service.svc (cs files) that define what methods are exposed through a
contract
~aspx
-ServiceProviderWeb(f) (References to ServiceData)
~References to external services
~Loads the objects from the database with stored procedures
-ServiceData(f) (References to none)
~ Links to classes (objects) in Client Data
~Interfaces to use with ServiceProviderWeb
~Database Utilities class
-Calculate(f) (References to ServiceData)
~Web references to other services used
Silverlight Business Application
Right click project>Add New Solution folder (sf)
Use these folders to separate Assemblies, Client and Service sections
*Client*(sf) contains
-Client(f) (References to all Client projects)
~App.xaml initializes IoC and checks silverlight installation (plus has
source for extending view xaml)
~Web service references created in the Service Section
(ServiceReferences.ClientConfig)
-Data(f) (References to none)
~Objects
-Common(f) (References to Data)
~Views(f) Interfaces (used to bridge to View project)
~Models(f) Interfaces (used to bridge to Model project)
~ViewModels(f) Interfaces (used to bridge to ViewModel project)
~RelayCommand class (xaml buttons bind to these)
~IoC class
~WebContext class
-View(f) (References to Common, Control, Data)
~XAML
~Load into IoC (Uses MEF to load the ViewModel)
-ViewModel(f) (References to Common, Data)
~Observable(f) (Objects used in the View)
~Wires up RelayCommand
~Instantiates objects that do the heavy lifting
-Model(f) (References to Common, Data)
~Web service references created in the Service Section
(ServiceReferences.ClientConfig)
~BaseModel.cs with MEF Export
-Controls(f) (References to Common, Data)
~Menu(f)
~Basically XAML helpers
*Server*(sf)
-Web(f) (References to Calculate, ServiceProviderWeb, ServiceData)
~Service.svc (cs files) that define what methods are exposed through a
contract
~aspx
-ServiceProviderWeb(f) (References to ServiceData)
~References to external services
~Loads the objects from the database with stored procedures
-ServiceData(f) (References to none)
~ Links to classes (objects) in Client Data
~Interfaces to use with ServiceProviderWeb
~Database Utilities class
-Calculate(f) (References to ServiceData)
~Web references to other services used

Comments