论坛首页 编程语言技术论坛

YOU SAY "THE RULE IS HERE",BUT I SAY "WHY?"

浏览 1681 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (9) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-14   最后修改:2009-04-14

 

主要是想写一个类似控制台的东西,可以监视我程序里面的动作。。。

 

直接用控制台也行,但是那样太刻板!没创意。。。我想给用户以提示,告诉他程序在干什么!!!!!!非常良好的界面。。。。。。

 

先写一些想法,然后再去弄:

1.接口: 只有一个那就是print(string str);为简单期间,就这样了;

2.行为的载体: 暂时选,一个Windows窗口吧,当然也可以是文件。 模式选择: 作为一个窗口,应该使用监听者模式,也就是他应该去监听Print事件,一个事件其实就是 一个函数调用。 窗口作为一个监听者而存在。 真的么???????????有一个更加抽象的东西存在,那就是, PRINTLISTENER:而不是窗口LISTERNER,窗口仅仅是个公告板。 (监听者模式实际上就是一个广播性质。。。我这里起火了,所有与我相关的警报器都得啦响); 这里其实很简单就是一个函数调用:(因为就只有一个监听者) PRINTListener.print();

3.控制台窗口的创建与更新: 创建的过程应该在行为发生之前。 更新发生在行为之后,或者说函数返回之前。

4.windows的局限性: 因为用的是windows,所以窗口的绘制最好还是利用操作系统自带的 方式,不然的话,自己动手画一个,贼复杂。(不是不可以);

例如: 先得到一个全局的DC,然后绘制一个窗口。。

 5.现在的问题是如何利用既定的WINDOWS规则来完成任务。 首先,所有的窗口绘制是通过WINDOWS消息完成的。 6.必须有消息,和消息循环,以及消息队列。

7.也就是说它的跑圈圈(如果它的圈圈跑得很到位,最好是不要动他,为什么呢?? 跑圈圈的东西被认为是不变的东西。。。。。。。。 把 不变的跟经常改变的分开,,几乎是软件开发的真谛!!!!!!!! )。

8.固定的规则: 如果让它不停地去拿一个它应该打印的东西去打印,这将是一个不错的注意。

9.有个很好的主意是构造一个队列。。。。。。。。

10。队列有很多种形式。。。 我想到了 StringBuffer,想到了流。。。。。

11.好了。。。一切OK。

12.也许可以用流。。。。。。这也是个不错的想法。。。。。

13.我们的数据放到流里边。。。

14.当然不能用cin,cin是个跟标准控制台窗口相关的流。 结论: 只要是队列(模式)。。。。没有不可以的!!!!!!!!注意: 队列仅仅是个抽象的概念!!!!!!!!!!! 从屁股后面进,从头顶出来的链表~!!!!!!!!!

 15.。。。。。。。。。。。好了。。一切OK!吃饭。。。 我准备造几个队列咯!!

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics