- 浏览: 117687 次
- 来自: ...
最新评论
文章列表
boost文档看了一遍,感觉“Libraries Listed by Category”一节对boost的分类不适合理解boost的组成,便根据自己的理解重新分了一下类:
1,Standalone Library for Applications: graph, thread, python, mpl, preprocessor, math...
把math放在这儿有点勉为其难
2,Complement Library for STL: Container:array, multi_array, dynamic_bitset, property_map... Iterator:itera ...
- 2004-12-11 12:49
- 浏览 653
- 评论(0)
Thinking Everyday
- 博客分类:
- 道
1,编程语言的发展趋势
语法更倾向说明性,声明性,而不是“实现性”
元数据无处不在,xml,template,java bytecode,.net il, 不久出现基于XML或类似XML的编程语言(那个 X# 莫非就是?)
抽象层次越来越高,虚拟机中间层越叠越 ...
Architecture is layered
- 博客分类:
- 道
那天被问道软件架构师需要了解编程语言的细节吗?
呵呵,架构是分层的
小区设计师需要了解盖楼的细节吗?城市规划师需要了解小区内楼房和停车场之间的关系吗?
每层都有各自的架构,或许首先应该明确的是“软件架构师”这个太概括的概念吧
1,尽量使用C#和Java语法的交集2,新建一个包封装类库相关的常用的调用,如Platform.Collection,Platform.String等3,使用自定义接口隔离平台相关的调用,如消息系统(MSMQ,JMS),远程调用系统(.Net Remoting, RMI),序列化机制等
理想情况下,你几乎会同时得到支持.Net和J2EE的各一套系统
不考虑WebService的情况下
实际上,隔离平台相关调用从一开始就有了,可在Win32和Unix,MacOS上移植的C语言程序,骨干代码是一致的
- 2004-12-11 11:52
- 浏览 619
- 评论(0)
工作流:第一次发版,设计总结
- 博客分类:
- 术
整体
面向接口:消息系统,持久系统等,其实现都是可替换的,主干代码对实际的消息系统或持久系统等一无所知
组件复用:Visio对象及Visio模具的使用目前来看取得了极好的效果,极大缩短开发周期、增强功能、并自动将数据与视图进行了相当程度的分离,并且比Jawe等设计器漂亮多了
基于SOA:平台所有接口都是通过WebService提供的,提高了复用和跨平台能力;实际上,平台是.Net开发的,而目前支撑的几个应用则是J2EE的
服务网关/接口:平台核心功能以类库的形式提供,所有暴露出的接口都是薄薄的一层WebService包装(服务接口);对接口的访问也以类库的形式提供 ...
工作流:第一次发版,过程总结
- 博客分类:
- 术
交流
即时讨论:小组成员咫尺之遥,有问题立即提出并解决
书面结论:每次功能或设计问题讨论结束后,都形成书面结论,置入SCM系统备查,尤其是反复权衡后做出的决定
新老结合:可以帮助带动初级程序员进步,可以验证设计师的想法,调整和规范设计
驱动
集成驱动:看一下系统集成在一起还缺什么,就去做什么
演示驱动:初始阶段开发一个原型的成分居多,每周例会时需要做一个演示,看一下完成演示还缺什么,就去做什么
应用驱动:后半阶段需要开发一个内部项目可使用的平台,便找了本公司一个办公自动化的应用来驱动平台功能的完善;最终该应用成功的基于平台开发出来,检验了平台的功能,并直接带出了新的需 ...
工作流:形参,实参,相关数据
- 博客分类:
- 术
关于形参,实参,相关数据
一、形参(FormalParameter)
形参用于WorkflowProcess和Application的定义中,一旦WorkflowProcess和Application定义了一定数量的形参,那么:
引用该WorkflowProcess做为Subflow的Activity的定义中,必须定义相同数量的实参;引用该Application做为Tool的Activity的定义中,必须定义相同数量的实参;由建模工具负责保证
实例化该WorkflowProcess和Application时,引擎负责用正确的实参的值初始化其形参
二、实参(ActualParam ...
The Object Primer
- 博客分类:
- 术
1,书名
被翻译成“面向对象软件开发教程”,若不是Scott Ambler名声在外,就要错过旧书摊上这本10几块的书了,虽然错过也没太大影响
2,UML vs. Programming Language
如果图形和文本基于同一种对象模型,则它们之间可以做到无缝 ...
J2SE 5.0 Generic应用
- 博客分类:
- 术
J2SE 5.0 Generic应用一:类型安全的functor
一、简介
函数式编程是非常常用和非常重要的一种编程范式,有的语言直接提供支持,C++则通过()运算符重载和模板提供了还算灵活的支持,而Java中的函数式编程则由于语言本身的局限没有得到广泛应用,Apache Commons Functor 项目是一个正在开发中的函数式编程库,但目前看来并不是类型安全的;J2SE 5.0提供了有限的generic能力,除了用于Collection之外,类型安全的functor也是其用武之地,已有一个开源项目Generic Algorithms for Java开始了这方面的 ...
J2SE 5.0 的角落
- 博客分类:
- 术
1,dynamic cast
类似C++的dynamic_cast<T*>操作符,C#的as操作符,Java 5.0提供了安全的dynamic cast功能,不同的是它以类库的形式提供的,并且类型不匹配时是要抛异常的,大大降低了可用性:
Class.cast
public T cast(Objectobj)
Casts an object to the class or interface represented by this Class object.
Parameters:
obj - the object to be cast
...
The Programming Language Idioms
Click below to go directly to a specific section:
重载与重写 | 静态构造函数 | 只读代理 | 同步代理 | 资源管理 | 构造函数中的虚函数
强制针对接口编程 | 抗变与协变 | friend interface | ctor vs. setter | 杂项
重载与重写
问题
日常讨论中,术语的不统一带来些许混乱
惯用的表达
overload
持续集成 Java手册
- 博客分类:
- 术
持续集成 Java手册
一、概念
Martin Fowler的文章:Continuous Integration 中文翻译:持续集成
二、工具
传统工具:JBuilder,VisualSourceSafe,Rational ClearCase
自动编译工具:Ant
回归测试工具:JUnit
代码检查工具:CheckStyle
持续集成工具:CruiseControl
三、步骤
CruiseControl监控远程版本控制系统的变化
变化发生时CruiseControl调用编译工具进行编译(Ant等)
编译成功后调用JUnit进行回归测试
...
持续集成 .Net手册
- 博客分类:
- 术
持续集成 .Net手册
一、概念
Martin Fowler的文章:Continuous Integration 中文翻译:持续集成
二、工具
传统工具:VisualStudio.Net,VisualSourceSafe,Rational ClearCase
自动编译工具:NAnt,NAntContrib
回归测试工具:NUnit
代码检查工具:FxCop
持续集成工具:CruiseControl.Net
三、步骤
CruiseControl.Net监控远程版本控制系统的变化
变化发生时CruiseControl.Net调用编译工具进行编译(NAnt或Visu ...
1, 迂腐的编码规范岳不群道:“令狐冲,背诵本派门规,好教林平之得知。”令狐冲道:“是,林师弟,你听好了。本派首戒欺师灭祖,不敬尊长。二戒恃强欺弱,擅伤无辜。三戒好色,调戏妇女。四戒同门嫉妒,自相残杀。五 ...
一,逆向工程
那女子悠悠的道:“丐帮‘打狗棒法’与‘降龙十八掌’两大神技,是丐帮的不传之秘。你们‘还施水阁’和我家‘琅擐玉洞’的藏谱拼凑起来,也只一些残缺不全的棒法、掌法。运功的心法却全然没有。你家公 ...