一、SCSF简介:
SCSF是一个应用了多种设计模式、适用于大型软件开发的框架,其特点是结合B/S与C/S架构的优点,开发人员可以按业务功能分模块并行开发,各模块之间耦合度很小,当业务需求变化时,应用SCSF架构的软件可以最大限度地减小代码修改量。
Smart Client相比传统B/S架构的优势:FatClient设计,用户体验丰富,客户端可以在不在线的状态下运行——而传统B/S架构是把一切负担交给服务器,当网络不可用时B/S系统完全瘫痪。
Smart Client相比传统C/S架构的优势:方便部署和维护——利用ClickOnce客户端会在需要更新时自动提示或更新。
SCSF对于软件开发的帮助:在该框架内开发,最大限度的松耦合设计可以轻松面对业务需求的变化;让开发人员可以方便地应用一些设计模式;实现迭代开发更为容易。
二、SCSF中的设计模式及架构思想:
控制反转(IoC),依赖注入,MVC及MVP;
策略模式(Strategy),观察者模式(Observer)。
理解了这些模式,才能较容易地理解SCSF的架构思想。
三、参考资料:
1,SCSF_ HandsOnLabs,包含5个lab,模仿其中的示例可以一步步实现一个简单的应用程序,做完这个程序就可以初步了解SCSF的开发过程和设计思想。
2,Demo_Application,www.codeplex.com上的一个示例程序,比较基础简单,介绍了SCSF里的基本应用。
3,Smart Client Software Factory Help,SCSF帮助文档,适于参阅查询一些技术细节。
4,《Programming Composite UI Application Block and Smart Client Software Factory》,《Designing Smart Clients Based on CAB and SCSF —— Architectural Guidance for Composite Smart Clients》介绍SCSF的书籍。目前SCSF的教程和书籍较少,当对SCSF有初步的了解后可以阅读这些以加深对SCSF框架的理解,提高自身的架构能力和思想境界。
5,《深入浅出设计模式》(《Head First Design Patterns》)——畅销书;《设计模式》(《Design Patterns》)——经典著作。
四、所需安装文件:
.NetFramework 3.0,
GuidanceAutomationExtensions,
GuidanceAutomationToolkitForVS2005,
SQLServerCompactEditionRuntime_EN,
vs2005ExtensionFor.NetFramework3.0,
Smart Client Software Factory - May 2007
五、核心思想和重要构件:
1,Infrastructure是SCSF项目的基础模块(Infrastructure表示底层),而该模块里的Shell类库与开发者的关系最紧密。
(1) 设置程序启动的方式:打开ShellApplication.cs可以看到[STAThread]属性,这是程序启动的地方。对编程而言,AfterShellCreated()会经常用到。
(2) 配置启动时要加载的功能模块(BusinessModule):在ProfileCatalog.xml里配置。