`
chelsea
  • 浏览: 117832 次
  • 来自: ...
社区版块
存档分类
最新评论
文章列表
  一、简介 BusinessWare是一款企业应用集成(EAI)软件,更加注重“系统”间的交互,传统工作流只是它的一项普通功能而已;BusinessWare还是一款可扩展的软件,对于已知的未知的系统/协议,它提供可单独配置的部件(Connector/Pr ...

Annotation PK Interface

    博客分类:
Interface在OO中处于核心地位,针对接口编程更是OOP的核心原则之一,但即使将该原则贯彻到底的COM/CORBA,依然面对大量的依赖、耦合,牵一接口而动全部客户的修改 另一方面,Hurb Sutter说各种编程范式,包括面向对象,核心都是某种管理依赖性,降低依赖性的技术,那么.Net Attribute, XDoclet, Java Annotation代表的Attribute Oriented Programming在降低依赖性上又前进了多少呢? 以Java Annotation为例,与Java Interface做个对比 1,调用方式 实现Interface的类 被 ...
  〇,简介 Gavator(Generic Java Functor)试图探索以普通Java语法进行函数式编程的可行性,并尽可能的保证使用的方便性,良好的可读性和基本的类型安全性 项目信息:http://code.google.com/p/jade-stone-suite/ source code:  svn checkout ...
  前几天公司培训编码规范:   第n条:   i++; j++; // prohibit   should be:   i++;   j++; // ok   第m条:  
前几天被电话面试,问Java的参数传递方式,我说只有一种方式,就是by value啊,对方纠正我说,基本类型传值,对象类型传引用;呜呼,当时被噎了一下,几秒钟后回过神来,我明白他的意思,也明白我碰上新世纪的新新人类了 ...
期待C++的ABI 转型(cast)其实是一种编译器指令,大部分情况下它并不改变一个指针所含的真正地址,它只影响“被指出之内存的大小和其内容”的解释方式;那么,什么情况下转型会导致指针的值发生变化呢?多重继承时转向不同基类? Global Objects的内存保证会在程序激活的时候被清0;Local Objects配置于栈中,heap objects配置于自由空间中,都不一定会被清0,它们的内容将是上次被使用后的遗迹 有四种情况,会导致“编译器必须为未声明之constructor之classes合成一个default constructor” ...
<<我爱我家>>有一集和平摔成了脑震荡失忆,贾治国心慌手乱,英壮扮演的医生却好整以暇,说一切正常,都是正常现象;这就是对象式和函数式两种编程世界观的观点 对象式(贾治国):和平是对象,她有自己的状态,刚才还活蹦乱跳,现在昏迷不醒,醒后失忆,状态发生了变化 函数式(医生):脑震荡是函数,输入清醒的人,输出失忆的人,和平完全符合函数的运行结果,在这一过程中,没有任何变化,一切正常
面向对象:封装(数据抽象)是基础,继承是手段,多态是目的;泛型编程:参数化类型(概念抽象)是基础,模板是手段,通用是目的 面向对象是运行时问题空间的多态,泛型编程是编译时算法空间的多态 OO以Type为中心,GP以Concept为中心,而Concept完全独立于Type;OO的type是显式定义的,type之间的关系也是显式定义的,是语言支持的 ;GP的Concept是由算法隐式定义的,Concept之间的关系,是无法用目前的C++语法直接表达的;Concept的Model完全可以是毫无关系的Type,refinement独立于inheritence,original ...

Modern C++ Design

    博客分类:
就像<<Ruminations on C++>>一样,<<Modern C++ Design>>关注的首先是Design,它明确的将这种设计命名为了“基于Policy的编程”,而不再用“模块化”、“封装变化”等泛泛的术语;其次是C++,核心是TypeList;如果<<Ruminations on C++>>是C++初创的十几年中Classic C++的设计指南的话,类似TypeList的思想则可能是最近几年和未来几年Modern C++的设计指南 1,policy 关键是将class分解为一组正交的行为;正确的 ...
基础复杂性是守恒的,需要解决的基本问题始终是需要解决的;最终的复杂性,却取决于基础复杂性彼此间的依赖,如果互相依赖,最终将得到指数级的复杂性,而如果彼此独立,最终只是若干基础复杂性简单的累加,因此,程序需要更好的的Design和Organize,主要任务就是“降低模块间的依赖至最小”,而对开发效率有重大影响的,主要是编译期依赖,为此,人们发明了若干技术来降低编译期依赖 1,模块系统 C++继承了C的include机制,缺少ABI,缺少模块系统,客户端代码依赖于对象的内存布局,任何对头文件(类定义)的修改都导致需要编译所有客户端;传统上只能如下解决: 部分基于C++的平台提供了初步的模 ...

Exceptional C++

    博客分类:
(翻译的太差了) 一、语法细节 C++不允许修改内置类型的临时变量 缺省参数根据静态类型获得 重载的new和delete操作符永远都是静态的,不管你声明static没有 二、惯用法 选择前置递增,只有打算使用初始值时才使用后置递增,并且使用前置递增来实现后置递增 注意由隐式转换创建的隐藏临时对象;避免这个问题的好办法,是使用explicit构造函数,避免编写转换操作符

Ruminations on C++

    博客分类:
可以把这本书重命名为<<C++设计模式>>,也可以重命名为<<C++编程思想>>,甚至还可以叫它<<C++语言的设计和演化>>,总之,Koening谈到了以上所有方面,并且首先是编程思想和设计原则,其次才是C++, ...

对象语义与值语义

    博客分类:
一、值语义 所谓值语义是一个对象被系统标准的复制方式复制后,与被复制的对象之间毫无关系,可以彼此独立改变互不影响 实现 <!-- MSTableType="nolayout" -->   C++ Java 标准复制方式 赋值、拷贝构造 赋值,clone() 基本数据类型
看一下现在我与互联网有关的生活:我有两三个常用的Web邮箱,我把它们配置在OutLook里;我有几个常去的网站,我把它们放置在IE收藏夹里;我的好友分别在QQ和MSN里;我订阅的博客则在新闻阅读器里;每天早上,我要启动所有的工具;或曰:快出现统一的桌面工具了吧?但机器不在身边的时候怎么办? 再看看目前的门户网站,要从海量信息中挑出自己感兴趣的,对眼睛和耐心都是挑战;MyYahoo算是较早提供的个性化的个人门户,但功能仍然有限,依然无法集成前面提到的对互联网的需求 我们先看看最容易集成的是哪些;毫无疑问,Blog和Email!为什么呢?因为它们有标准,RSS和POP3之类;无论它们的提供商 ...
第一代互联网混淆了真正的数据和它的表现形式,第一代搜索无法区分关键词是出现在文章标题里还是正文里,无法区分“十面埋伏”是一个典故还是一部电影,因为第一代互联网上只有HTML字节流,再也没有其它的了 Blog的出现是第二代互联网的萌芽,它明确定义了数据的组成,并且是标准,Blog搜索完全可以区分标题和正文、作者、发表时间等,而不管它们在浏览器里的表现形式如何;其实目前各种搜索引擎提供的个性化搜索,如联邦快递的包裹运送进程等,都潜在的可进一步发展为标准,成为第二代互联网的内容组成;届时,医院间可共享格式完全相同的病历,网上书店也使用标准化的图书信息,这样,搜索将变得轻而易举,不必像今天这样,从 ...
Global site tag (gtag.js) - Google Analytics