Your SlideShare is downloading. ×
0
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Smart Client Software Factory  2010
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Smart Client Software Factory 2010

2,919

Published on

Smart Client Architecture, create modular, extensible, loosely-couple application

Smart Client Architecture, create modular, extensible, loosely-couple application

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,919
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
68
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Smart Client Software Factory 2010<br />A Brief Development Guidance -Western Digital #tomysmile – 05 Aug 2010<br />
  • 2. Agenda<br />Overview<br />Application Layering<br />Architecture Patterns<br />Development Activities<br />
  • 3. Overview<br />SCSF takes advantage of the Microsoft Enterprise Library 2.0 and Composite UI Application Block, using a software factory model to generate the application framework<br />Rapid and standardized application development, allowing developers to generate core application frameworks and focus on building the business logic<br />End result is an extensible, extendable, modular, maintainable and loosely couple architecture application<br />
  • 4. Application Layering<br />
  • 5. Application Layering cont.<br />Presentation – outer layer, exchangeable<br />Business<br />Services<br />Rules<br />Data Access<br />Modules<br />Infrastructure<br />
  • 6. Architecture Patterns<br />
  • 7. Architecture Patterns cont.<br />Presentation Pattern<br />Dependency Injection / Object Builder<br />Observer Pattern<br />Composite and Modularity<br />Commanding Pattern<br />…<br />…<br />
  • 8. Development Activities<br />
  • 9. Development Activities cont.<br />Architects approach<br />Business analyst approach<br />Developer approach<br />Designer approach<br />
  • 10. Development Activities cont. – Business Analyst Approach<br />Data Access Layer<br />This layer concern only for database activity (CRUD), no business validation or caching or else.<br />Create DAL for each database activity<br />LookupDAL, AllocationDAL, BuildRequestDAL<br />Business Analyst will need to work closely with database dev / admin and define the output of the result. <br />Business Rules Layer<br />The main concern of this layer is to provide business specific rules and validation. Rules must be exchangeable and configurable.<br />Create Rules as specific and clear as it can in this layer, if no rules required then just passed it on to the upper layer (DAL)<br />DataLookupRule, AllocationRule, BuildRequestRule<br />
  • 11. Development Activities cont. – Business Analyst Approach<br />Service Layer<br />The main concern of this layer is to be the application data End Point and all the data related activities must be through this layer in order to maintain the standard and maintainability.<br />Service can be passed to the Business Rule layer or accessing a Web / WCF Services<br />Service must be exchangeable, testable and mock able, so always use interface based programming in this layer<br />This layer is perfect for caching feature because all the data will need to be retrieve or pass from this layer.<br />Eg: DataLookupService, AllocationService<br />
  • 12. Development Activities cont. – Business Analyst Approach<br />Presentation Layer<br />This is the most outer layer that presents the data looks and feel<br />The SCSF use MVP and MVC for the presentation, so it can be extend and exchange either use Web-based, Windows Form-based, WPF-based even Silverlight without having to change the whole codes and project structures.<br />Contain 3 sub layer :<br />Model – represent the data source ( service layer )<br />View – this is the display that user can see<br />Presenter / Controller – the hub between data source and the view<br />View layer must be dumb enough so it can be replace by Windows Form, Web Form, WPF or Silverlight<br />
  • 13. Development Activities cont – Developer Approach<br />The reverse of the Business analyst approach<br />
  • 14. Development Activities cont. – The Flow<br />Interface usually prefix with char ‘I’<br />Interface<br />Concrete<br />Interface<br />Concrete<br />Presenter<br />View<br />
  • 15. Development Activities cont. – The Flow<br />View Interface (IMainView)<br />View Presenter<br />View / User Control<br />Service Interface<br />Infrastructure.Interface<br />Infrastructure.Module<br />Cache Feature<br />Exception Handling (Opt)<br />Service Concrete<br />Business Interface<br />Business Concrete<br />DAL / Repository<br />Database<br />
  • 16. Development Activities cont. - Configuration<br />Application Config<br />app.config<br />appSettings.config<br />appConnectionStrings.config<br />Modules Config<br />ProfileCatalog.xml<br />Messaging Config<br />Messages.xml<br />
  • 17. Thank You<br />

×