自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常高伟的专栏

关注软件开发和技术中人的因素

  • 博客(16)
  • 资源 (18)
  • 收藏
  • 关注

原创 python初体验(2)——面向对象篇

在学习python的面向对象时,我始终参照的是c++的面向对象机制。相对而言,python的面向对象确实更简单一些。 基础: 整数也被作为对象。前面就看到过,说所有的东西都是对象,包括函数。 属于一个对象或类的变量被称为域——这个名称有点奇怪,c++叫成员。 域分为两种,分别属于对象和属于类——其实就是成员和静态成员。 Self指针:相当于c++中的this。文档是否有问题,c++有self吗? 类的方法的第一个参数必须是self?为什么?目前来说不带self是会运

2011-05-29 22:59:00 3613 4

原创 python初体验(1)——基础篇

我为什么学习python 首先我的工作第一语言是c/c++(面向对象子集)。选择学习python一方面是因为看很多人都说python开发效率高,所以想验证一下;另一方面,Eric S. Raymond在文章:如何成为一名黑客 中对python的推荐。还有一方面,python的设计哲学:用一种方法,最好是只有一种方法来做一件事,这一点我比较认同。 好了,我选择的入门资料是python简明教程。下面是我学习时的一些笔记和思考,上面有很明显的c和C++的痕迹。 控制结构: 有c没有的自然字符

2011-05-29 17:14:00 4196 4

原创 如何学习一门新的语言

这两天在看《编程人生》,这本书确实非常不错。而且看得也特别的轻松。其中有几个人都谈到了如何学习新的语言,但是给我最深刻的是google的首席java架构师joshua bloch。正好最近我也在学习python,所以顺便总结一下如何学习一门新的语言。希望你能补充一些。 心态 这不但是学习一门新的语言最重要的,而是对任何的学习都是最重要的。下面是书中的描述,非常的精彩,特别是那个比喻: “学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。有些人执着于一种理念:“这就是写所有程序

2011-05-29 11:03:00 33746 159

原创 代理者模式——学习笔记

代理者系统结构模式可以用来构建带有隔离组件的分布式系统,该软件通过远程服务调用进行交互。代理者组件负责协调通信,诸如消息转发,以及传回结果和异常。 我所知的一个应用代理者模式的架构是SOA。 1. 例子 分布式的城市信息系统。 2. 语境 系统由独立的、相互协作的、分布式的、异构的组件构成。 3. 问题 构建一个复杂的软件系统,它是由独立的和互操作的组件构成,而不是一个整体的应用程序,从而使系统具有可维护性,可变更性和灵活性。通过将系统分割为多个组件,系统变得可分布和可扩展。可以参考SCA(服

2011-05-27 19:50:00 2245

原创 管道和过滤器

现在的学习笔记要侧重自己的理解。用自己的语言,经验来阐释它。读一段后,写下我的理解。 管道和过滤器体系结构模式为数据流的系统提供了一种结构。每个处理步骤封装在一个过滤器组件中,过滤器组件间通过通道连接。重组管理器组件可以得到不同的系统族。这个和之前见过的一个语音流的处理结构非常相似。 1. 例子 这里列举了一个编译器软件。从代码到可执行文件经过了很多步骤,每个步骤都抽象成一个过滤器组件。 和处理数据流的例子很像。比如一个数据流,从接收到用扬声器播放,会经过很多的编解码步骤。每个步骤其实也是过滤器。

2011-05-27 19:45:00 2718

原创 [想法征集]我心中理想的博客系统

在CSDN上写博客已经将近两年。这两年来看着自己的一些思考变成文字,并且有人阅读,回复,确实有一种成就感。同时,我也在CSDN博客中读到了大量非常有价值的博客,让我学习了不少的知识。这里确实要感谢CSDN为我们提供的这样一个交流的平台。但是我对CSDN博客系统也有些个人的看法。正所谓爱之深,责之切,说的可能有些直接,所以还是希望CSDN博客团队能够谅解。另外,我也希望大家能积极的贡献自己的想法,说出你理想的博客系统是什么样子的,共同建设我们的博客系统,促进知识贡献和交流。

2011-05-26 23:10:00 2359 12

原创 层模式——面向模式体系结构学习笔记

可以将系统划分为子任务组,每个子任务组在一个特定的抽象层次上。1. 例子ISO7层模型。2. 语境一个需要分解的大系统3. 问题假设有一个系统,它明显的混合了底层与高层的问题。强制条件:1) 一个地方的更改,被限制在某组件或某层内,不会扩散到整个系统。2) 接口应该是稳定的,甚至可以用标准件来限定。3) 系统的各个部分应该可以替换,组件可以被其他的实现方法来替换而不影响系统有的其他部分。则可能基于优秀的接口定义。

2011-05-23 22:54:00 2522

原创 深入理解C++的动态绑定和静态绑定

为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例: class B{}class C : public B{}class D : public B{}D* pD

2011-05-17 20:22:00 75911 168

原创 近期思考的对程序和系统的一些优化

1、我们各个模块间的通信一般是通过消息。在发送消息的地方,我们目前一般是发送时直接构造消息。这个方法有个不好的地方就是如果一个程序中有多个地方需要构造消息,则构造消息的代码会被重复多次,而且同样的事情散步在很多的地方,难于修改维护。所以必要明显的增加一个API层,负责从数据到消息包的转换。这样要更改包的定义只要修改指定的函数即可。但是如果将字段以参数传入,则可能会遇到一种情况——函数的参数会经常改变。这是一个问题。也许更改调用点是一个很笨但很现实的方法。2、网元代理对外要发送很多消息,都是要发送指定的网

2011-05-14 10:35:00 2428 1

原创 绝不重新定义继承而来的缺省参数——effective c++学习笔记

绝不重新定义继承而来的缺省参数(Never redefine function’s inherited default parameters value.)讨论的前提是:不重新定义继承而来的no-virtual函数。所以,讨论的范围是:继承一个带有缺省参数值的virtual函数。class B{virtual void fun(int i = 10) = 0;}class D : public B{virtual void fun(int i

2011-05-14 09:37:00 2401 4

原创 绝不重新定义继承而来的no-virtual函数——effective c++学习笔记

绝不重新定义继承而来的no-virtual函数(Never redefine an inherited no-virtual function.)如果这样处理,那么这个函数的调用,将取决于指针的类型,而不是对象本身。因为no-virtual函数都是静态绑定的(在编译器绑定),而virtual函数是动态绑定(在运行期根据对象来绑定的)。这样做违背两个原则:1、 适用于基类对象的每一件事情,都要适用于其子类。2、 基类的子类一定要继承no-virtual函数的接口和实现。

2011-05-14 09:33:00 1673 1

原创 考虑virtual函数之外的其他选择——effective c++学习笔记

这篇文章围绕这个一个简单的问题:为游戏的人物设定一个继承体系,人物的健康状态可能会发生变化,则需要为人物计算他们的健康指数:最明白的一个方案是将创建一个virtual 函数int healthValue(),用来计算健康指数。下面的其他的替代方案:1、 由no-virtual interface 手法实现的template method模式healthValue仍然为public接口。当却不再是virtual。然后它调用private(protected) virtual函数doheal

2011-05-11 22:32:00 1495 2

原创 区分接口继承和实现继承——effective c++学习笔记

可以在抽象类中为纯虚函数写一个定义,而编译器不会抱怨。但是只有通过base class::fun来调用。过度雷同的函数名会导致class命名空间污染——我已经遇到了这个问题。1) 成员函数的接口总是会被继承;2) 声明一个pure virtual函数的目的是为了让derived classes只继承函数接口;3) 声明简朴的impure virtual函数的目的,是让 derived class继承改函数的接口和实现。下面的书里面讲到的一个实例非常值得思考。 impure vir

2011-05-11 22:31:00 4108 5

原创 避免遮掩继承而来的名称——effective c++学习笔记

避免子类中public函数的名称和和继承而来的名称相同。根据命名规则查找条件,类似于全局变量和局部变量同名是全局变量失效一样,当子类中的名称和积累中的名称相同时,基类的名称就会实现,不管子类的名称是private还是public。而与此同时,和这个名称相同而参数不同的名称也会被屏蔽。可以使用using base:名称来解决这个问题。但是,最好的不要重名。请记住:1) derived class内的名称会遮掩base class内的名称。在public继承下从来没有人希望如此。2)

2011-05-11 22:30:00 2086 2

原创 确定你的public继承塑模出“is-a”关系——c++学习笔记

查询一下三种继承:protected,public,private继承分别表示什么含义。好的接口设计可以防止无效的代码编译通过。是这样的。如果能够编译通过,则证明调用者的行为时正确的。则是一个非常好的设计思想。在设计public继承的时候,public继承和的思想是,能够施加到基类上面的事情,同样可以施加到子类上。这个和我们自觉的is-a关系不一致,要小心。请记住:public继承意味着is-a,适用于base class 的每一件事情都要使用与derived class。

2011-05-11 22:29:00 1813

原创 [xia谈]做一个爱家的程序员

我说我要买车的话就买BYD F0,轻巧,油耗低,简单。我老婆说我现在是这种想法,过几年就不这样想了,那个时候会喜欢大气的车,那是男人成功的标志。“我现在就很成功了!”我老婆笑我“你怎么成功了?”。我答“我娶了你做老婆,世界上还能找出第二人吗?!我的当然是最成功的男人。”我老婆大笑。在我老婆看来,我肯定是一个怪人,整体对着电脑,有意思吗。我就给我老婆看我们的编程语言,教她写最经典的“hello world”程序。她看后不屑的说,太没有创意了,我给你写一个。然后就照猫画虎写了一个程序,点击运行:

2011-05-07 21:08:00 6319 80

python开发总结——c程序员python之路

python开发总结——c程序员python之路 我在工作中写的python总结,适合学习python的c程序员。

2012-09-21

python开发总结

自己的开发总结,适合初学者。 页数大概有四十页,后面慢慢更新。

2012-05-23

google-reader-subscriptions.xml

我关注的技术博客列表。是我最近一两年收集的博客列表。 博客是学习一个非常重要的重要手段。

2011-11-03

:The C Programming Language 中文版

:The C Programming Language 中文版: The C Programming Language 中文版

2009-11-07

周一清晨的领导课,领导能力

周一清晨的领导课周一清晨的领导课周一清晨的领导课

2009-10-21

OSGI进阶.pdf

OSGI进阶 开发 教程,更深入介绍OSGI

2009-08-25

Google Android SDK开发范例大全

Google Android SDK开发范例大全

2009-08-25

Android开发教程英文版.rar

Android开发教程英文版.rar 英文资料。可以看看。

2009-08-25

android+Programming.pdf

android+Programming.,英文的开发资料。技术越前沿,深入,中文资料越少。还是慢慢的习惯英文资料吧。

2009-08-25

android应用框架原理与程序设计

android应用框架原理与程序设计,高焕堂的作品。

2009-08-25

IBM android技术文档——从入门到精通.rar

IBM的android资料,对android感兴趣的人可以学习一下。

2009-08-17

全部的SCA&SDO中文规范

满江红社区翻译的中文规范,是目前最新的。也是全部的。

2009-08-17

演化架构与紧急设计——IBM架构资料

演化架构与紧急设计,IBM的资料,是IBM一位资深架构师写的资料。对于提升架构能力还是有帮助的。

2009-08-17

SCA Assembly Model V1.00.pdf

SCA中文规范,主要描述装配模型。v1.0

2009-08-17

IBM SCA培训资料

IBM SCA培训资料,属于基础性的。可以看一下。应该有帮助。

2009-08-17

技巧:在 C-C++中如何构造通用的对象链表

技巧:在 C-C++中如何构造通用的对象链表

2009-04-08

c++标准库文档,chm格式,包含c

c++保准库文档,详细介绍c++库函数。chm格式,包含c

2009-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除