I'm a newbie of COM, here I have some questions maybe stupid:
1. Does the thread modeling apply to components level? For instance, if I've 2 components A and B. I can have A in STA and B in MTA, right?
2. Are there any proper methods to call other components in a component, that is to say, can function f1 in Interface IA in component A call f2 in Interface IB in comportment B? Or, it is not recommended to do so?
3. I'm going to implement a service with several APIs, the APIs are divided into several groups, call to APIs in same group should be serialized(not only for different threads in one process, but also for threads in different processes), seems like there is a queue for each API group. But the problem is, functions in different group will call each other, how can I do?
I think if I put all the APIs in one Interface of a component, then they can call each other more easily. But in such case I can not make them separated by group and serialized.
Your question is hard to me.
2.Whether or not being able to call a function implemented in another class depends upon your project design and its complexity, I guess Facade or Adapter helps to bridge the two complex and hard-to-use interfaces together.
3.What is your COM doing ? (you are making a philosophical question over OOA+OOD)
thefollower, thanks for you quick reply.
1. So it is right?
I'm not quite sure whether there are existing stationary feature I can make use of in ATL/COM. You know I don't want to reinvent the wheel. But, if there is no such feature, I think Facade or Adapter will be OK for this. ATL/COM will be used only for IPC.