用观察者模式写文档编辑器,大家给我个思路吧
任务:
实现一个多文档编辑器
编辑器提供菜单或工具条对编辑器中的文字进行格式设置,设置内容包括:字体大小、颜色、加粗、斜体等
基于观察者模式实现菜单或工具条的字体格式状态显示
编辑器整体设计充分遵循面向对象设计原则
文档编辑器我已经写好了,花了几天时间。
但是这个观察者是谁?选定的文本?不是一个主题对应多个观察者吗?不太懂。
能不能给我个思路啊。。。
发现老师讲的那个气象监测站的例子好理解多了。。
------最佳解决方案--------------------观察者模式是在被观察者发生改变时由观察者执行预定的操作,比如说文本容器是被观察者,任何输入检查是观察者,当文本容器的内容发生改变,那么观察者激活检查这些改变是否合法,并作出响应。
例如:用户输入了一连串6个字符,这时观察者(语法检查)从字典中找到这6个字符的含义,并使这些字符改变颜色。
------其他解决方案--------------------你的rich text数据是subject,显示数据的组件是observer。
------其他解决方案--------------------哦,这样啊,我写写试试,谢了
------其他解决方案--------------------原来是对新输入的文本使用观察者模式,我还以为是选定已有文本。。老师说的是选定文本。。。
那我懂了。