craig wrote:
> I'm trying to construct a PAC-agent architecture for an application
> that has an MDI GUI. I'm structuring the mainWindow as the
> presentation of the top-level agent. Sub-agents of the top-level are
> "document editors". The top-level mainWindow contains menus for top
> level functions, as well as menu items for the active sub-agent
> (document editor). When a new sub-agent is created/activated, it needs
> to replace/add menu items to the top-level mainWindow's menu ). When
> these menu items are pressed a message is communicated to the sub-agent
> (document editor) to perform a function. In other words, top-level has
> a presentation that contains menu items that fire off sub-agent
> functions.
>
> Does this make sense? Does it violate "agent" encapsulation or any
> other design principles?
I X-posted to comp.object, and set follow-ups there, because this isn't a
C++ question. (The answer is the same no matter what language you use.)
The only rules for Model View Controller I know are:
- use a triangle of observers
- observe elements in a module, not the whole module
- do what's simplest; sometimes you just call a function
instead of post an observation event
- pass all tests & refactor mercilessly
You do _have_ test cases, don't you?
--
Phlip
http://www.greencheese.org/ZeekLand <-- NOT a blog!!!