`
chelsea
  • 浏览: 117767 次
  • 来自: ...
社区版块
存档分类
最新评论
文章列表

Essential SICP Primer

    博客分类:
综述 本书以Lisp语言本身为例,完整而辨证的讲述了“计算机程序”的各种形而上形而下的问题: 程序语言本身的要素(原语、组合手段、抽象手段) 程序的计算模型(代换模型、环境模型,迭代、递归) 程序的 ...

Thinking Everyday II

    博客分类:
1, 是业务,不是技术,傻瓜 是集成,不是编程 是使用,不是创造 是创造,不是祈求 是合作,不是独立 是开放,不是保密 是实践,不是谣言 是选择,不是忠诚,更不是媒妁,傻瓜 2, 所谓文化 即是规则,模式,惯用法的积累:在一个狭小的空间内,积聚了大量高度内聚的原则,模式,惯用法,便形成了文化 3,Iterative Matrix是迭代开发的,事实上所有的事务本质上都是迭代的,共产主义不会一蹴而就,需要经过原始社会,奴隶社会,封建社会,资本主义社会,社会主义社会(分初级和高级两个阶段),n-1主义社会,才能最终到达 4,Balance Matrix不是完美的,它只是达到了 ...
程序逻辑上的组织方式(如名称空间,包等)可以和部署时的分发方式(如程序集,jar包等)不同,那么不同class间的相互访问权限应该在逻辑组织上限制还是物理分发上限制呢? Java 语言本身 采用了对逻辑组织方式进行限制,即你可以访问java.lang中的私有类而能够通过编译,只要你自己的代码也以java.lang为包名[我猜的,没试过] 运行时 采用了对物理分发方式进行限制,可能跟缺省的ClassLoader有关,即使你通过编译了,但部署时同一包名下的类分成了不同的jar包,那么对私有类的访问可能会出错[我猜的,没试过] . ...

Essential C++ Primer

    博客分类:
Please "Learning Standard C++ as a New Language", and "Speaking C++ as a Native"朋友的公司还在用C++的环境编写着“带类的C”代码,每天回来就倒苦水,我曾经工作过的一家公司也有动辄几千行的C风格的函数这里概述一下C++最最 ...
1,额外的中间层鞋子:人类发明鞋子的意义无论如何评价都不过分,鞋子屏蔽了各种地况的差异,脚掌不必再受不同环境带来的痛苦,如针棘,石子等鞋垫:进一步抽象出来的中间层2,模式《三十六计》或许是较早的模式书籍了,记载了可复用的三十六个军事方面的模式

Nucleus中的WebService

    博客分类:
一、开发包 现有文档: 《简单的axis》 现用开发包: 服务端开发包使用apache axis 客户端开发包使用systinet wasp 5.0 服务端和客户端使用不同开发包的原因: systinet的服务端开发包必须与systinet server一起使用,而我们选择了JBoss等,因此服务端选择了其它的开发包 systinet的服务端开发包和客户端开发包缺省占用同一个socket端口,因此无法在同一个应用中同时使用必须systinet的服务端和客户端,因此服务端选择了其它的开发包,对systinet进一步的学习可能会解决这 ...
1, 事务脚本 vs. 领域模型(Transaction Script vs. Domain Model) 作者基于功能的复杂性来区分两种模式的使用时机,却忽略了另外一个因素:功能的增加 领域模型将功能和数据置于同一个对象中,当需要增加新的功能时,只能通过为 ...
Language Oriented Programming : The Next Programming Paradigm Sergey Dmitriev, JetBrains   现在是软件开发中开始下一次技术革命的时候了,而这次革命的轮廓正变得越来越清晰。下一代编程范型也在接近我们,但仍然没有完全成形--不同 ...
工作流第二版设计总结 一、Existing Problems 没有进一步总结工作流领域模型,还基本停留在第一版的层次上,导致: 层次不甚清楚 增加新功能困难 事务脚本过多,带来重复代码 组件职责相对混乱,尤其是服务组件与其它模块耦合太多,应更清晰的定义一个内核服务层 没有做并发设计,导致: 性能低下 存在死锁可能 二、Design Principles 针对接口编程与控制反转 整个系统针对接口编程,降低了编译时依赖;利用IoC,通过配置来组装系统,定制运行时行为;带来的最大好处就是,我们获得了一个可在分布式和嵌入式之间通过配置切换的引擎,不需要修改源代码,大大提高了持续集成的 ...
工作流第二版过程总结 这段时间增加了几个实践: 持续集成:目前的问题是单元测试覆盖率不够,再就是没有单独的集成机器,一直使用我的机器,当有人checkin,触发update/compile/test/package/checkin序列后,我的机器就慢的无法无天 CRC卡片:没用Together,移植并重构后的系统架构用了6张CRC卡片来描述;问题是用的太少,下一版应该多多使用,再配合数码相机就更好了 每日例会: See Also: 《工作流:第一次发版,过程总结》
    一、我们要解决的问题 功能的描述、表达,即功能的实现 结构的描述、表达,即功能的组织 业务的描述、表达,即最终的目标 二、我们对功能的描述、表达 开始,人们用指令封装了电路来表达功能 后来,人们用函数封装了指令来表达功能 再后来,人们用库封装了函数来表达功能 那么现在,我们用什么来封装库去表达功能呢?【问题一】 三、我们对结构的描述、表达 3.1,programming principles 开始,人们用文字来描述简单、正确、灵活、高效的有关软件结构的principles,如 ...
一、现状 软件越来越庞大,细节越来越多---->难以改错,改进 开发周期越来越长---->浪费金钱、生命 二、原因 生产工具与任务之间的差距太大:要砍伐整片森林,手里只有斧子 生产资料与产品之间的差距太大:要葱油鲤鱼,手里只有鱼籽葱籽 要建立一个金融系统,手里只有C++Java编译器,UML“建模”工具 要建立一个化学反应模拟系统,手里还是只有C++Java编译器,UML“建模”工具 三、其它领域的样例 要创作一首曲子,只需写出它的五线谱,你几乎不可能用自然语言来描述 要证明一个数学定理,只需用数学符号、现有的数学公式来推理、自然语言语焉不详,不够精确 ...

糟糕命名集锦

    博客分类:
1,公交支线,如375和375支 现实一:无论命名上多么相近,对乘客来说,还是互不相干的两条独立的路线 现实二:有时命名上毫不相干的两条路线,反而比支线更为接近,如726和826支几乎一模一样,826和826支反而相差较大 现 ...

错误处理规范

    博客分类:
错误处理规范 〇、概念澄清 概念 解释 错误 是指:导致系统不能按照用户意图工作的一切原因、事件 不是指:java.lang.Error及其子类 异常 是指:特定编程语言、开发平台提供的一种错误表现机制 不是指但包括:java.lang.Error及其子类,java.lang.Exception及其子类,System.Exception及其子类 ,std::exception及其子类 一、整体规范 按照错误类型,通常的处理方式如下: 错误类型 范围 处理方式 操作员错误 与人机界面交互时不满足输 ...
Nucleus.MockAOP.Net简介 一、功能 基于配置文件,动态载入Aspects 对不同的类,指定不同的Aspects (基于正则表达式或者继承关系) 对类的不同方法,指定不同的Aspects (基于正则表达式) 指定Aspects的相对执行顺序 提供了一种ChainOfResponsbility模式的RealProxy实现,并提供了该RealProxy所需的Aspect的框架,及三个示例Aspect,分别用来计算执行时间、打印输入参数和返回值、和捕捉所有异常 二、限制 未找到好方法将Aspect变为无状态,导 ...
Global site tag (gtag.js) - Google Analytics