| Virtual instrument (VI) is an important component of Computer Simulation Experiment, thus its design and implementation is one of the key research direction of Computer Simulation Experiment. In earlier works, development process takes experiment as unit, and VIs are encapsulated in the platform, so the VIs are tightly coupled with experiment. Though this developing concept can satisfy the implementation of simulation experiment where the contents are specified, it does not meet the requirement of designable, i.e. experimenters complete experiments according to their own ideas. To solve this problem, [2] designed and implemented a designable virtual experiment system using dynamic binding technology. Recently, technologies of virtual-real are more and more widely used in teaching activities, and the requirement of simulation goes higher and higher. Thus when developing VIs with same functions but different appearances, one should expediently replace instrument appearances without rewriting most of the programming code.[3] proposed a design pattern based UI-Model architecture. UI-Model separates the code into two parts: the user interface part which is related to the appearances of instruments and the model part which is related to the kernel functions, so it reduces the coupling of UI and model and increases the reusability. But in UI-Model design pattern, the user interface of VI and operations of experimenters are still tightly coupled, which implies that the whole UI should be rewritten when appearances of VI change. Further, the message transport mechanism of UI-Model requires rewriting the coupling part of Model when changing UI controls. MVC2 is a Web-oriented design pattern based on MVC design pattern. Compared with MVC, MVC2 transports messages between Model and View in Controller, thus Model and View are uncoupled. But for desktop applications with respect to graphical interfaces, one should deal with lots of interoperation events and message delivery, and MVC2 is not suitable because the Controller will grow intractable and is not good for developing [6].In this paper, we proposed an expanded design pattern architecture which integrates advantages of both UI-Model and MVC2 design pattern. The new design pattern divides the Controller layer into two parts: view controller and model controller, and implements the division and encapsulation of stable code and variable code, and satisfies the requirement of expediently replacing instrument appearances. |