【良少的专栏】

余好读书,乐思善疑。有过目不忘之能,亦有掩卷即忘之病,故尝攥文以记之。博客地址:https://github.com/shendl1978/blog/wiki...

排序:
默认
按更新时间
按访问量

软件架构设计原则和模式(上):分层架构设计

绪论本文打算探讨一下软件架构设计的一些设计原则与经过实践验证的设计模式。 前端(MVC模式)和后端(接口层-业务层-助手层)的分层设计经过了几十年大量软件的证明。分层的思想,就是每一个层次专注做一件事情。每一个层次都为上层提供服务。每一个层次对于其上层来说,都是可以复用的。分层设计的软件,结构清晰...

2016-05-23 04:29:57

阅读数:8860

评论数:2

关系型数据库表结构的两个设计技巧

设计关系型数据库的表时,需要给表添加一个ID字段(自增字段,或者uuid字段)和一个version字段(数值类型)。ID字段作为物理主键,用于保证记录的不可重复性和用作外键关联。 version字段用于实现乐观锁,提供比悲观锁更好的性能。特别是对于UI显示并可能出现并发更新的数据,...

2015-08-12 13:17:10

阅读数:6713

评论数:0

编程能力层次模型

程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。 下面通过两个维度展开编程能力层次模型的讨论。 一个维度是编程技能层次,另一个维度是领域知识层次。 ...... 有些程序员可能把精力都花在提升编程技能上了,领域知识知之甚少,这其实在日常工作中也是极其有害的。有些...

2015-02-15 15:30:39

阅读数:14664

评论数:10

Linux内核中链表和散列表的实现原理揭秘

inux内核的实现,大量使用了数据结构,包括了数组、链表和散列表。其中用的最多的是双向循环链表。Linux内核使用的是自己定义的链表和散列表,简单而高效,使用方法也非常的别具一格。研究Linux内核的链表和散列表对于看懂Linux内核源源代码有重要的意义。

2011-07-14 11:37:02

阅读数:9460

评论数:7

构建一个分布式操作系统的简单方案—答陈硕的“分布式系统中的进程标识”一文

本文提出了构建一个分布式操作系统的简单方案。核心是使用ssh的强大能力,构建一个简单、安全、灵活、高效的分布式操作系统!并且没有单点失效的问题。注意,是通用的分布式操作系统,而不是专用的分布式系统。

2011-03-29 16:20:00

阅读数:8756

评论数:59

Unix编程哲学和软件设计方法

      Unix编程哲学: 1,模块原则:使用简洁的接口拼合简单的部件。2,清晰原则:清晰胜于机巧。3,组合原则:设计时考虑拼接组合。4,分离原则:策略同机制分离,接口同实现引擎分离。5,简洁原则:设计要简洁,复杂度能低则低。6,吝啬原则:除非确无它法,不要编写庞大的程序。7,透明性原则:设计...

2011-03-02 23:06:00

阅读数:2619

评论数:5

主流编程语言优劣考

                                                             主流编程语言优劣考      前言 本文的目的并非是想挑起语言之争,而是希望通过客观地分析每一种主流语言的能力,辨明其长短,让程序员能够扬长避短,有效地使用各种语言。让各种语言...

2008-06-10 00:19:00

阅读数:40134

评论数:99

基于对象和面向对象编程范式辨析和主流编程语言中的应用

  基于对象和面向对象编程范式辨析和主流编程语言中的应用 前言         本文的目的是想告诉大家,为什么C++的模板这么强大。为什么Ruby的Duck Typing(像鸭子那样编程)这么强大!      基于对象和面向对象编程范式关于基于对象和面向对象编程范式,我有着不同于传统的理解。我认为...

2008-06-09 01:41:00

阅读数:8944

评论数:11

面向对象编程语言中的函数式编程--为命令模式和访问者模式正名

        函数式编程和命令式编程 函数式编程是最近被热炒的一个概念。国内外众多大牛纷纷发表文章,认为函数编程可能会再度兴起。搞得一向喜欢跟风的小弟我如坐针毡。因此,也抽空研究了一下函数式编程这个时髦的概念。上个世纪,我曾经在图书馆借了一本介绍所有主要计算机语言的书,那本书简单得介绍过Lisp...

2008-01-24 23:16:00

阅读数:6647

评论数:7

[预告]将要推出编程方式事务管理祥解!

                                                   [预告]将要推出编程方式事务管理祥解!         以前一直都用声明式事务管理:EJB,Spring的。这一次要用Jbpm,需要使用编程方式的事务管理,立刻乱了阵脚。事务管理得那个烂呀!真是惨...

2006-11-14 13:25:00

阅读数:1437

评论数:0

jBPM3.12用户指南中文翻译----第四章 面向图表编程

    这是Jboss 的jBPM3.12框架的用户指南的中文翻译。我的翻译风格是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我的时间。 同时,对于其中的部分内容,我会在翻译中做出解释和写上我的理解。  Chapter 4. Graph Oriented Programmin...

2006-09-22 22:21:00

阅读数:2945

评论数:0

“状态模式”深入浅出

前几天遇到了命令模式,在Blog上解释了一下。今天,又遇到了状态模式,还是深入浅出的告诉大家什么是状态模式吧。状态state模式是GOF23种模式中的一种,和命令模式一样,也是一种行为模式。状态模式和命令模式相当像,一样是“接口—实现类”这种模式的应用,是面向接口编程原则的体现。 状态模式的理解,...

2006-09-22 19:12:00

阅读数:9380

评论数:8

“命令模式”深入浅出

命令Command模式是GOF23种模式中的一种,是一种行为模式。这种模式很难理解。《设计模式》一书中对它语焉不详。而网上的一些文章对其的解释也是错误的。实际上,命令模式并不是那么神秘。本文中我会简单的告诉你什么是命令模式,怎样使用命令模式。命令模式的理解,关键有2点:一、使用接口---实现类的方...

2006-09-21 15:13:00

阅读数:13339

评论数:26

怎样用Ant测试Spring项目(Ant测试自动化--下)

怎样用Ant测试Spring项目    对于Spring项目,还有另外的讲究。一、可以运行,但是要设置Eclipse,以使Eclipse自动往我的    中复制Spring配置文件。      设置了路径以后就正常了   Eclipse中,java构建路径.java源:src,test,WebRo...

2005-11-18 21:40:00

阅读数:4380

评论数:4

用Ant自动测试JUnit(Ant测试自动化--上)

                      用Ant自动测试JUnit     经过痛苦的N次尝试,终于,我成功的运行了Ant驱动的JUnit!一、问题一  支持ANT的任务所需的jar包的配置。Note: This task depends on external libraries not i...

2005-11-18 21:34:00

阅读数:17042

评论数:3

横切关注点的两种实现方法

                 横切关注点的两种实现方法 软件系统,可看作由一组关注点组成。其中,直接的业务关注点,是直切关注点。而为直切关注点提供服务的,就是横切关注点。有两种方法可以提供横切关注点,一种是传统的OOP方法,提供一个与直切关注点的实现一样的类来提供服务。另一种是最新的AOP方法...

2005-11-09 23:47:00

阅读数:7035

评论数:2

避免过度精简临时变量----重构的问题

          避免过度精简临时变量----重构的问题 在我重构的过程中,我的代码出现了一个问题,出现了一个死循环!重构的一个重要手段就是把可恶的临时变量去掉,而改之以方法的调用。这是Martin Fowler非常强调的一个思想。重构的一大手段和目标是提炼出方法来。将大段的代码分解成许多微型函...

2005-11-03 23:55:00

阅读数:2457

评论数:0

Bad Smell重构和设计的标准

                  Bad Smell重构和设计的标准 -------“与其无尽的等待完美的设计,不如立刻着手实现可行的设计,然后再在设计出现臭味的时候重构实现!” n        引言 今天,一位初学编程的朋友对我说,他写的类要么是数据类,要么是操作类。似乎写得不太好。于是,我...

2005-10-19 21:05:00

阅读数:3439

评论数:1

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