自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Brookes的专栏

大道无形

  • 博客(19)
  • 收藏
  • 关注

原创 工厂方法模式 Factory Method Pattern

一. 工厂方法模式简介  在简单工厂模式中,由一个工厂类(实际上是其中的某一个具体方法)负责决定实例化哪一个具体产品,从而接触客户和具体产品类直接的依赖关系。而工厂方法模式对这种思想进行了进一步的扩展,把这个实例化产品的方法抽象化(从而也抽象化了这个工厂类),把实例化哪一个具体产品类的决策延迟到它的子类中去。也就是说,这个抽象方法只定义了应该创建一个什么类(抽象),让子类去决定创建哪一个对象。

2007-11-30 16:32:00 1774

原创 简单工厂模式 Simple Factory Pattern

 一. 简单工厂模式概述   简单工厂模式并不是GoF《Design Patterns》一种中描述的23种设计模式之一,但是包含在了Cooper的《Introduction to Desgin Patterns in C#》中。可以毫不夸张的说,简单工厂模式是目前应用最多的模式。  简单工厂模式处理的是这样一种问题:有一系列功能及其相似的产品,在客户看来完全可以互相替代。客户需要使用的是其中一个产

2007-11-29 17:37:00 2036

原创 设计模式概述

什么是设计模式?通常会有以下几个定义:设计模式描述了软件设计过程中某一类常见问题的一般性解决方案。面向对象设计模式描述了面向对象设计过程中,特定场景下,类与相互通信的对象之间常见的组织关系。每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次的使用该方案而不必重复劳动。说到设计模式,首先必须提到的就是GoF,1994年,Erich G

2007-11-29 15:21:00 1408

原创 准备开始写设计模式了

设计模式(Design Patterns)相关的文章很多很多,csdn,博客园,很多原创的或者转载的。这样看来,我是没必要再来画蛇添足的——这个说法不确切,那些蛇本来就不是我画的,而是GoF,Cooper,还有许许多多的前辈。其实,我知道Design Patterns不算晚,也曾有一段时间言必称模式,不过,真的应用到我的实际项目中的,却没有多少。所以,因了资历的限制,还不能说理解二字。现在重新

2007-11-28 12:05:00 1283

转载 Why extends is evil

【转帖说明】这是2003年在JavaWorld.com上的一篇文章,这其实是《Holub on Patterns》这本书中的一个章节。全文的核心思想就是使用接口,不要使用继承,可说是对CARP原则的注解。Why extends is evilImprove your code by replacing concrete base classes with interfacesBy Al

2007-11-27 17:31:00 1367

原创 Tom在线的未来在哪里?

今天,TOM在线发表声明,放弃其新闻门户:为配合网站产品未来的发展规划,对旗下门户网站架构作出调整, 门户的服务将由以内容为主的媒体形式,逐渐转向由产品、功能为主导的应用类服务。在资源的配置方面,公司将继续发展,并加强我们拥有竞争优势的产品的投资,也会注重跨业务线的产品在用户和服务方面的整合。受是次调整影响的员工,主要为编采部人员,公司已按劳动法例的要求作出补偿。在这些可以称为中文门户的大

2007-11-27 17:13:00 1362

原创 OOD设计原则之其他

在面向对象大师Robert C. Martin的《Agile software development: Principles, Patterns and Practices》一书中,只把前面提到的OCP、LSP、SRP、DIP和ISP列为OOD的设计原则。确实,这几个原则是面向对象设计中基石性的原则。在我看来,不能明了这些原则的本义,是根本谈不到OOD的。而后面的LoD、CARP也被广泛传播,尤

2007-11-26 12:04:00 3367

原创 OOD设计原则之合成/聚合复用原则(CARP)

 合成/聚合复用原则(Composite/Aggregate Reuse Principle, CARP)也可以简称为合成复用原则(Composite Reuse Principle, CRP)。合成(Composition)和聚合(Aggregation)起司和都是对象建模中关联(Association)关系的的一种。聚合表示的是整体和部分的关系,表示“含有”,整体由部分组合而成,部分可以脱离部

2007-11-26 11:54:00 3202 1

原创 OOD设计原则之迪米特法则(LoD)

迪米特法则(Law of Demeter, LoD)又叫最少知识原则(Least Knowledge Principle, LKP)。1987年秋天由美国Northeastern University的Ian Holland提出,被UML的创始者之一Booch等普及。后来,因为在经典著作《 The Pragmatic Programmer》而广为人知。 迪米特法则可以简单说成:talk onl

2007-11-23 17:01:00 3625 1

原创 OOD设计原则之接口分隔原则(ISP)

 接口隔离原则(Interface Segregation Principle)是Robert C. Martin(!)在1996年为《C++ Reporter》所写的专栏Engineering Notebook的第四篇(原文),这个原则说的是如何处理接口“臃肿”带来的麻烦。这个原则概括起来只有一句话:Clients should not be forced to depend upon meth

2007-11-23 14:05:00 3754

原创 OOD设计原则之依赖倒置原则(DIP)

依赖倒置原则(Dependency-Inversion Principle)是Robert C. Martin(!)在1996年为《C++ Reporter》所写的专栏Engineering Notebook的第三篇(原文),后来加入到他在2002年出版的经典著作《Agile Software Development Principles Patterns and Practices》 中提到的,

2007-11-22 17:03:00 3010 2

原创 OOD设计原则之单一职责原则(SRP)

 单一职责原则(Single Responsibility Principle,SRP)最初是谁提出的我没有考证,不过大师Robert C. Martin对SRP的解释是:Each class should have one and only one reason to change.一个类只能因为一个因素而改变。SRP说的其实是类设计时的职责划分和粒度问题。没个类都是因为具有一定的职责才

2007-11-22 13:29:00 2478

原创 OOD设计原则之里氏替换原则(LSP)

里氏替换原则(Liskov Substitutiion Principle,LSP)被称作继承复用的基石,它的提出甚至要早于OCP。不过遗憾的是,由于对这一原则的理解各不相同,经过多次的翻译、转述,LSP成了OOD设计原则中争议最多的话题之一。其实早在1987年的OOPSLA大会上,麻省理工学院(MIT)计算机科学实验室的Liskov女士就发表了经典文章Data Abstraction and

2007-11-21 17:00:00 8196 1

原创 OOD设计原则之开闭原则(OCP)

开闭原则OCP(Open-Close Principle)被称作是OOD的基石,是OOD最重要的原则之一。这个原则由大师Bertrand Meyer在1988年提出(汗,那个时候恐怕国内还很少人知道OO,甚至计算机为何物):Software entities should be open for extension,but closed for modification。多简单啊?!这个原则的

2007-11-21 14:31:00 10035 5

原创 OOD设计原则之开篇词

        在我想记录些什么的时候,首先想到的就是这些OOD的原则。坦白的说,我自己对这些原则的理解也只能算是一知半解。自己做OOD也算有些年头了,但是在实际项目中,真正按这些原则所要求的那样去设计,我自知还没有达到那个高度。而这些原则就像是这几年年一直大热的设计模式一样,并不能拿来就用,“拼装”出合格的设计或代码;也不能拿着这些做标尺,一个个去检查那些设计和代码。但是,这些原则之所以能成立,

2007-11-21 14:07:00 2204 1

原创 新开一个分类

今天新加了一个软件工程的分类。准备陆续写一些文字。不过,不过不会局限于Sofeware Engineering,还会涉及到OOA/OOD、UML/Modeling、Design Pattern、Project Management等等吧。最近两年,其实已经渐渐远离了Coding的工作,更多的在分析、建模和项目的管理上,慢慢的有了一些积累。不过,我对文档的管理不是很在行,也一直没找到一个很好的工

2007-11-21 12:10:00 1536 2

原创 MS SQL Server命名及编码规范

     MS SQL Server命名及编码规范  文件类型:项目管理(标准/规范/模板)文件编号: SD-07-02版    本: 1.0 A.版权声明 本文件版权属于北京BRKS,保留所有权利。本文件中包含的信息属于北京BRKS的资产及机密,文件中的任何部分未经授权不得以任何形式复制(包括复印及以电子文本的形式传播)。 B.版本历史 

2007-11-09 15:58:00 2274

原创 C#编码及命名规范

                 C# 编码及命名规范    2007-8-20  文件类型:项目管理(标准/规范/模板) 文件编号: SD-07-01 版    本: 1.0  A.版权声明 本文件版权属于北京BRKS,保留所有权利。本文件中包含的信息属于北京BRKS的资产及机密,文件中的任何部分未经授权不得以任何形式复制(包括复印及以电子

2007-11-09 15:54:00 1734

原创 SQL SERVERC存储过程中捕获异常

今天有个老朋友忽然问我一个问题,关于存储过程的。这个存储很简单: CREATE PROCEDURE Proc_InsertTemp    (@number varchar(3000),    @name varchar(2100),    @output varchar(100) output )ASBEGIN  SET NOCOUNT ON;  DECLARE @outputerr va

2007-11-02 14:32:00 3387

空空如也

空空如也

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

TA关注的人

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