What is Smart Client Software Factory?

R

Ronald S. Cook

What is Smart Client Software Factory and how does it related to/fit in with
Composite UI Application Block (CAB)?

Thanks,
Ron
 
D

David Browne

Ronald S. Cook said:
What is Smart Client Software Factory and how does it related to/fit in
with Composite UI Application Block (CAB)?

SCSF = CAB + Enterprise Library + Autmated Guidance for building smart
client apps.

Basically SCSF includes all the parts needed to build smart clients, along
with Visual Studio integration create a new smart client app and to guide
you through the implementation tasks.

David
 
R

Ronald S. Cook

Thanks David.

So for a basic Windows app, would you climb the learning curve of CAB and
introduce the associated complexities?

How else would you suggest structuring the UI of a Windows app where you can
still keep "shell" functionality on some sort of a master form, by using
user controls for all module-level functionality?

Thanks,
Ron
 
D

David Browne

Ronald S. Cook said:
Thanks David.

So for a basic Windows app, would you climb the learning curve of CAB and
introduce the associated complexities?

Add-on frameworks, no matter how good they are, a significant investment.
If you need an MVC-type UI framework, use CAB. If you need a modular,
composable UI, especially one where different teams are delivering modules
that need to interact, use CAB. These are the hard problems that CAB
solves. Basically you need to decide that you have an important requirement
that CAB can help you deliver to justify learning it, implementing it and
forcing it on anyone who comes after you to learn.
How else would you suggest structuring the UI of a Windows app where you
can still keep "shell" functionality on some sort of a master form, by
using user controls for all module-level functionality?

If you need that kind of modularity, you should invest in learning an
implementing CAB. Otherwise you risk ending up with something both complex
and poorly implemented.

If you roll your own, you will eventually need to be able to:

1) Control loading and initialization of your modules
2) Enable access by modules to shared services
3) Enable access by modules to shell-level UI features (menu bar, status,
tree views, etc)
4) Enable eventing to and from loaded modules
5) Manage the dependencies between modules and between modules and shared
componenets
6) Provide guidance to other developers for delivering modules

All of which CAB addresses.

David
 
B

Bob Powell [MVP]

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top