随笔分类 -  模式与代码

设计模式
Crest的OO核心实现
摘要:至此,我们已经有了一个比较好用的宏封装的代码风格,一个基础的类对象结构的模拟代码,但是始终没有接触到OO的核心实现。这次,我们终于要进入实质的内容了---实现对象的继承和接口的实现。单对象的内存布局我们在《Crest的语法---宏的魔术汇演》实现了一个简单对象,含有成员变量,成员函数,如下图所示。其中buffer指向字符缓冲区,虚函数Format表现为一个函数指针。 这种结构把数据和成员函数一起放... 阅读全文

posted @ 2009-12-03 12:32 老翅寒暑 阅读(1690) 评论(0) 推荐(0) 编辑

Crest的语法---宏的魔术汇演
摘要:上文完成了用纯C语言描述一个简单的对象结构的工作,因为要用例子表现,所以这次我们要来设计一下Crest的语法,也就是要看一下如果Crest最终能够成功完成的话,我们的编程代码会是一个什么样子。最理想的面向对象语法当然是仿造C#、java这样的结构了,但是因为C语言要用头文件,所以估计最终的样式还是类似于C++。首先我们还是制定一个目标的样式,然后再去用Crest仿造实现。目标是这样的[代码1]:c... 阅读全文

posted @ 2009-12-01 11:23 老翅寒暑 阅读(1686) 评论(1) 推荐(2) 编辑

Crest简单对象的设计
摘要:在我们开始Crest的设计之前,我们先看一段参考代码using System;using System.Collections.Generic;publicabstractclass Bird{protected String name;publicabstract String tweet();public String getName(){return name;}}publicclass C... 阅读全文

posted @ 2009-11-26 11:45 老翅寒暑 阅读(1784) 评论(4) 推荐(0) 编辑

Crest-大家都来山寨一个GObject吧
摘要:感谢园子的两位博友给我们带来了和GObject相关的知识(参看《使用C语言进行面向对象的开发--GObject入门》系列和《玩玩 Vala》),受到他们的启发,决定也来仿造一个类似GObject的系统,用流行的话,就叫“山寨”了。希望bigtall这次也能做一个物美价廉质优轻便的“山寨”产品。这次行动的目的有如下的几个: 揭开所谓“面向对... 阅读全文

posted @ 2009-11-23 09:53 老翅寒暑 阅读(1991) 评论(2) 推荐(1) 编辑

快速目录和文件遍历
摘要:遍历一个目录或者磁盘中的所有内容,常用的算法有两种:深度优先和广度优先。具体实现的时候,每种算法都可以有多种实现,一般来说,有递归和非递归两种。因为工作需要,所以bigtall实现了几种算法的对比。首先实现的是传统的深度优先的递归遍历算法,因为非递归算法和广度优先比较雷同所以没有实现。其次实现的是广度优先的递归和非递归算法,其中非递归广度算法采用一个先进先出的queue存储目录路径结果。最后实现的... 阅读全文

posted @ 2009-10-09 09:15 老翅寒暑 阅读(8892) 评论(9) 推荐(0) 编辑

目录比较的小工具myfc
摘要:因为工作需要,对遗留项目进行规范化整理,面对多个不同版本的程序,如何整理出一个完整的有效的代码?目前的工具比如ultra compare或者号称最好用的beyond compare,具有的只是目录比较和文件比较功能,其中目录比较只是简单比较文件的属性差异,不会比较目录中各个文件的差异,所以用了几天时间,修改完善了我自己的myfc,一个纯批处理文件,具有的功能如下: 1.比较两个目录的差异,支持目录... 阅读全文

posted @ 2008-08-26 10:28 老翅寒暑 阅读(2534) 评论(0) 推荐(0) 编辑

101个LINQ例子
摘要:101 LINQ Samples 说明:本文摘抄自Microsoft的MSDN网站,因为原文不方便快速阅读和学习,故此调整如下。本文所有权利归Microsoft公司所有。如果您觉得本文侵犯了您的著作权,请来信告知,我将即时改正!多谢! 所有的代码运行结果请点击代码上的链接,到MSDN网站去看。 Restriction Operators Where - Simple 1 public v... 阅读全文

posted @ 2008-01-03 16:19 老翅寒暑 阅读(7725) 评论(3) 推荐(1) 编辑

应用程序框架设计之二:分层和层间数据传递(上)
摘要:上一篇:应用程序框架设计之前言 还记得97年左右开始的胖客户机和瘦客户机之争吗?之后又是CS和BS之争,然后又是两层和多层之争...,十年之后的今天我们再回过头看这些争论,一切似乎看起来都那么理所应当:程序怎么能不分层啊?可是再想一下,原来我们用了整整十年的时间才达成了一个程序架构要多层的共识(效率 阅读全文

posted @ 2007-12-10 18:06 老翅寒暑 阅读(8891) 评论(32) 推荐(1) 编辑

Mozilla建议的CSS书写顺序
摘要:转自 http://www.webshu.net/jiaocheng/web/CSS/200606/3769.html /* mozilla.org Base Styles* maintained by fantasai* (classes defined in the Markup Guide - http://mozilla.org/contribute/writing/markup)*/... 阅读全文

posted @ 2007-05-22 10:57 老翅寒暑 阅读(420) 评论(0) 推荐(0) 编辑

Javascript的for...in语句在IE和Firefox的差异
摘要:刚才调试出来一个问题,就是下面的语句 window.myfunction = function(){};for(var prop in window) div1.innerHTML += prop + ":" + typeof(window[prop]) + "=" + window[prop] + ""; 在ie中和在mozilla/firefox中返回的结果是不一样的。在mozilla中... 阅读全文

posted @ 2007-04-28 17:33 老翅寒暑 阅读(3887) 评论(3) 推荐(0) 编辑

界面设计模式 之 我的Tree-Client模式
摘要:界面设计模式 之 我的Tree-Client模式 平时在用C#做界面的时候,尤其是在做参数设置界面的时候,经常会遇到左边是树,右边根据树节点对应的数据类型显示不同的内容。VS2003的选项设置界面就是这种布局。那么我们自己来实现的时候,如何设计才比较好呢? 先看一下我的界面示意图: 这里我们可以看到有如下几个我们需要关注的对象: 节点(TreeNode):其中包含了我们最核心的数据,只有根据其中的... 阅读全文

posted @ 2005-08-16 17:09 老翅寒暑 阅读(4597) 评论(12) 推荐(0) 编辑

分析模式读书心得之责任模式
摘要:阅读《分析模式》之“责任模式”的心得体会。期望能够解决面临的组织结构、合同等问题。这是第一部分,希望有时间能够分析一下各种实现的性能效果。 阅读全文

posted @ 2005-07-11 00:02 老翅寒暑 阅读(4659) 评论(5) 推荐(0) 编辑

运算表达式类的原理及其实现
摘要:运算表达式在编程中是一个很重要的概念,但是实际工作中,需要使用到运算表达式的机会并不太多。但是日前在研究报表系统的时候,发现了它的用处,于是就研究了一下,做了一个比较运算表达式类。 表达式类的实现主要使用了visitor模式。 阅读全文

posted @ 2005-05-28 16:45 老翅寒暑 阅读(3563) 评论(7) 推荐(0) 编辑

扩展功能的 CollectionBaseEx
摘要:因为平时使用 System.Collections.CollectionBase 时候发现有些不足,故而作了一个扩展的 CollectionBaseEx,代码如下,因为注释较多,故不再解释。 /**//// /// 增强的 CollectionBase ,支持排序,和更多的通知 /// public class CollectionBaseEx : IList ... 阅读全文

posted @ 2005-04-22 17:12 老翅寒暑 阅读(1220) 评论(1) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示