力为的技术博客

联系 聚合 管理
  154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

 

MVC Pattern

OVERVIEW

从比较宏观的角度介绍Venus ;用设计模式来描述就是MVC+Factory Pattern

Model-View-Controller

MVC模式是一种非常常用的设计模式,其原理不再赘述。在Venus 中也采用了此模式——模型数据-显示-编辑器,分别用类CAnyDocumentCAnyViewCAnyEdior来实现。其中:

l  CAnyDocument

文档管理

l  CAnyView

模型显示,场景管理

l  CAnyEditor

模型编辑器接口,即创建模型的操作,如创建SphereBoxLine等。

Extrend

         为了便于Editor的管理和功能的扩充,增加了两个管理类CEditorMgrCEditorFactory

l  CEditorFactory

采用参数化的工厂方法管理所有的Editor。通过editorID用相应的Editor Creator就可以创建出Editor实例。

l  CEditorMgr

一个CAnyView一次只能有一个活动的Editor,各种操作的关系有的存在堆栈式的关系,因而用CEditorMgr管理当前View中的Editor

l  CEditorCreator

提供创建Editor的接口。通常,每实现一个CAnyEditor的子类,就需要一个Creator与之对应,以便注册到CEditorFactory工厂中。

Classes structure

         各类之间的关系如下:


MVC Pattern

注:XXX代表子类,如CSphereEditor,CBoxEditor

Demo

完整程序

完整程序20070520Full

更新补丁20070522

Contract

mythma@126.com

 

posted on 2007-05-23 21:10 力为 阅读(2254) 评论(7)  编辑 收藏 引用

评论

# re: The Designing of AnyCAD (1) ---- MVC Pattern[未登录] 2007-05-23 21:30 清风
厉害啊~~~~  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-05-24 12:47 Galaxy
最近正学设计模式

嘿嘿, 学习了  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-05-24 13:56 梦在天涯
能不能处理autodesk的dwg图纸哦


还是自己定义的一种文件格式哦
  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-05-24 18:19 mythma
@梦在天涯
暂且不支持。
据我所知Autodesk RealDWG是收费的SDK,不道道有没有开源的DWG SDK。  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-05-25 09:00 teli_eurydice
怎么不放出部分代码说明问题,呵呵  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-05-27 23:21 力为
最新更新:
http://download.csdn.net/source/185985

增加功能:
圆柱
曲线
STL格式导出
IGES格式导出
  回复  更多评论
  

# re: The Designing of AnyCAD (1) ---- MVC Pattern 2007-06-13 23:39 力为
dotNet3.0 群  40635625
C++高手群 41571081
3D 项目开发 41570965  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理