Jexi设计 (1) Lexi研究

系统 1518 0

从今天开始准备正式写Jexi编辑器,目标就是《设计模式》中的C++例子Lexi:一个图文混排的所见即所得编辑器:

今天在公司闲的时候把《design patterns》的Lexi设计部分仔细看了一遍,整理了一下GoF的设计:

文档结构 :应用Composite模式,如图:

通过接口Glyph,应用Composite模式,将多个对象组织起来:

文档格式 :通过一系列Formatting Algorithm来实现Formatting,这是由Composite和Composition实现的:

Responsibility Operations
what to format void SetComposition(Composition*)
when to format virtual void Compose()

用户界面 :边框,滚动条等都是通过decorator模式动态装饰的:

Redo/Undo功能 :这是通过Command模式实现的,《design patterns》中有详细讲解,至于其他功能,如平台无关窗口,界面风格切换,拼写检查等暂时就不考虑了。

不幸的是,GoF只给了设计思想,没有现成的代码,所以一切还得靠自己。

Jexi设计 (1) Lexi研究


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论