2008年6月20日

我的 WinClock 项目系列之四 (Memento 模式的应用)

摘要:

动机 (Motivation)
在软件的构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前某个点
时的状态,如果使用一些公有接口来让其他对象得到对象的状态,便会暴露对象的细节实现。

如何实现对象状态的良好保存与恢复?但同时又不会因此而破坏对象本身的封装性。

阅读全文

posted @ 2008-06-20 11:40 优哉@游哉 阅读(1928) 评论(2) 编辑

2008年6月4日

我的 WinClock 项目系列之三 (Mediator模式的应用)

摘要:

动机(Motivation):
在软件的构建过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维持一种
复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。

在这种情况下,我们可以使用一个“中介对象”来管理对象间的关联关系,避免相互的对象之间
紧耦合引用关系,从而更好地抵御变化。

阅读全文

posted @ 2008-06-04 18:25 优哉@游哉 阅读(2004) 评论(8) 编辑

2008年6月1日

我的 WinClock 项目系列之二 (功能细节,在Windows API 里面查找需要的功能)

摘要:

1. 不规则窗口的创建
方法一:
让图片的背景色与显示部分的颜色明显不同,将 FormBorderStyle 属性设置为 None。
将窗体的 BackgroundImage 属性设置为先前创建的位图文件。 设置窗体的 BackColor 图片
背景色,在窗体的构造函数里添加 this.TransparencyKey = this.BackColor; 一切OK。

阅读全文

posted @ 2008-06-01 23:47 优哉@游哉 阅读(2944) 评论(6) 编辑

2008年5月30日

我的 WinClock 项目系列之一 (概述)

摘要:

三年前,当我还是一个学生的时候,同学在用一个类似雪狐迷你钟
的小软件,具体叫什么现在忘记了,当时这个软件是收费的...

阅读全文

posted @ 2008-05-30 18:35 优哉@游哉 阅读(2433) 评论(25) 编辑

2008年5月19日

C# 实现屏幕键盘 (ScreenKeyboard)

posted @ 2008-05-19 17:35 优哉@游哉 阅读(13040) 评论(84) 编辑

2008年5月6日

C# 实现自定义消息处理

摘要: 众所周知,委托和事件机制是C#应用程序的一个很重要的方面。
Microsoft 的 BCL 类库对Windows的控件进行了几乎全面的封装,使用程序人员甚至不用了解消息循环就
能写出相样的程序。
然而,甚至Windows UI编程到了 WPF 时代,消息机制仍然占据着举足轻重的作用。阅读全文

posted @ 2008-05-06 21:19 优哉@游哉 阅读(4514) 评论(2) 编辑

2008年4月26日

一次重构 (算术表达式求值问题)

摘要: 三个月之前,我曾经写了一篇关于算术表达式求值的文章,当时是单纯从算法的角度考虑整个问题的,而没有考虑到软件的扩展性,
三个月以后,我重新考虑了这个问题,怎么让这个微型的程序具备扩展性呢?空闲时间看了不少 SharpDevelop 的源码,对其中的
插件实现机制当然会有一定印象,那么何不用插件的形式来实现下这个程序呢?这样就可以在将来需要新的运算法则时方便地扩展,而
不必更改已经存在的程序,阅读全文

posted @ 2008-04-26 20:50 优哉@游哉 阅读(263) 评论(0) 编辑

2008年1月7日

使用传统算法进行表达式求值(数字支持科学表示法,操作符支持加减乘除乘方, 支持括号, 不支持函数)

摘要: 一. 预处理中缀表达式,去除所有的空格,如果第一个字符是 “-”,在前面加 “0”。

如果 "^" 后紧跟负数-m (m > 0),则把这个数替换成 "(0-m)"。 例如: "-3^-20 + 30" 处理

结果为 "0-3^(0-20)+30"。
阅读全文

posted @ 2008-01-07 22:57 优哉@游哉 阅读(1603) 评论(3) 编辑

2008年1月5日

利用 C++ Interop 封装 ISO C++ 对象, 供其他 .Net 语言使用

摘要: .Net BCL 支持两种互操作技术, 模块级重用P/Invoke 和组件级重用 COM 互操作

C++/CLI除了支持以上两种互操作以外, 更支持代码级重用, 称为C++ Interop, 本文仅举例

说明这种互操作技术。
阅读全文

posted @ 2008-01-05 23:42 优哉@游哉 阅读(500) 评论(0) 编辑

2007年12月28日

值类型 VS 引用类型 (C++/CLI)

摘要: 值类型自动继承自 System::ValueType, 引用类型自动继承自 System::Object,

虽然 System::ValueType 也继承自 System::Object, 但二者仍有不少差别。阅读全文

posted @ 2007-12-28 10:51 优哉@游哉 阅读(294) 评论(0) 编辑

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

公告

昵称:优哉@游哉
园龄:4年1个月
粉丝:7
关注:0

搜索

 
 

常用链接

我的标签

随笔分类

随笔档案

文章分类

友情链接

最新评论

阅读排行榜

评论排行榜

推荐排行榜