views:

109

answers:

1

I'm in the process of choosing a framework for my flex development, and one of the questions that was asked about a framework was "is this a framework or a micro-architecture"?

Can someone clarify what's the difference?

What exactly is a framework, and when can we start calling what we have a framework? I work with FlexBuilder3 (now called FlashBuilder4) and have a lot of standard things that I do for almost all projects, and components that I created for easy re-use. Some are very very small, but the benefit of a 1-liner has been immense for me instead of repeating the code over and over. So in the framework/micro-architecture scheme, can I say that these are my internal in-house framework or are they part of a micro-architecture?

Trying to understand this topic better.

+3  A: 

a framework is a library. it is the complement of component sets (or component libraries), which are also libraries. while component sets provide functionality (encapsulated in components), a framework provides architecture. so when using a component, you create the architecture, which embeds this component to use its functionality by making explicit calls through its interface. when using a framework, you actually provide the functionality, which is then called by the framework. this is called inversion of control, which basically leads to low coupling through dependency inversion.

Flex is both a framework as well as a component set. There is only little seperation between both in Flex, which is due to the fact that the Flex framework uses a hell lot of inheritance. Also, Flex provides only little framework features to the developer, but more to the Flex components themselves. That's why there is Cairngorm, PureMVC and many other frameworks on top of Flex.

From what you say, I'd call your library a component set. I know the word framework is very hip at the moment, but you shouldn't join the league of the many people totally misusing it.

Oh, and the term "micro-architecture" designates the internal architecture of a processor. I think framework actually is the word you were looking for.

greetz
back2dos

back2dos