“软件设计”文章列表
算法与对象的耦合
对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱……
动机(Motivation)
在软件构建过程中,......
英文原文:Strategic Domain Driven Design with Context Mapping 作者:Alberto Brandolini 译者:韩锴 发布于 2010年4月6日 简介 当应用程序逐渐变得庞大和复杂后,很多面向对象建模的方法都达不到非常好的可伸缩性。上下...
本文是从 What is Domain Driven Design? 这篇文章翻译而来。 ”…在很多领域,专家的作用体现在他们的专业知识上而不是智力上。“ -- Don Reinertsen 领域驱动设计(Domain Driven Design)是一种软件开发方法,目的是让软件系统在实...
一:什么是领域模型(Domain Model)
1,Entities
2,Value Objects
3,Relations
二:只谈验证(Validation)——三种常见的做法
1,Constructor/Me......
英文原文:Tips for Effective Software Reuse 作者:Vijay Narayanan 译者:王丽娟 发布于 2009年12月30日 构建软件的每个人都会告诉你,实现软件重用极具挑战性。大规模、系统级的重用更是如此。开发人员要在最后期限内满足需求、交付功能,同时还...
自从接触设计模式以来,一般看到的评论是以推崇为多。不过比较欣慰的是,最近在看《编程人生》中,有两个人对设计模式比较不屑。
之所以欣慰,并不是因为凑个热闹看......
现在的很多公司,包括 Google 和我现在的公司 Coverity,都喜欢一种“测试驱动的开发”(test-driven development)。它的原理是,在写程序的时候同时写上自动化的“单元测试”(unit test)。在代码修改之后,这些测试可以批量的被运行,这样就可以避免不应该出现的...
对象和数据的主要差别就是对象有行为,行为可以看成责任职责(responsibilities以下简称职责)的一种,理解职责是实现好的OO设计的关键。“Understanding responsibilities is key to good object-oriented design”—Mart...
前言
最近几年在.net方面的工作经历,让我长久以来(有几年了)想写关于大型asp.net应用系统架构文章的念头。之前和同事们聊天的时候说的都是一些思维片段,其中......
Jason Bloomberg最近在博客中问道:“为什么没有人做企业架构(Enterprise Architecture)呢?”他说:
解决方案架构师应该在实施解决方案之前完成解......
耦合与变化
耦合是软件不能抵御变化灾难的根本性原因。不仅实体对象与实体对象之间存在耦合关系,实体对象与行为操作之间也存在耦合关系。
创建型设计模......
系列博客
1. 改善代码设计 —— 优化函数的构成(Composing Methods)
2. 改善代码设计 —— 优化物件之间的特性(Moving Features Betw......
一、上篇回顾
上篇我们讲述了比较常用的适配器模式,并且分析了适配器的一般使用场景:
1、我们在使用第三方的类库,或者说第三方的API的时候,我们通过适配器......
接缝(seam)是Michael C. Feathers提出的概念。Feathers在Working Effectively with Legacy Code一书中对接缝的定义如下:
接缝,顾名思义,就是指程序中的一些......
好久没有写文章了,最近比较忙,另一方面也是感觉自己在这方面没什么实质性的突破。但是今天终于感觉自己小有所成,有些可以值得和大家分享的东西,并且完成了两个可以表达自己想法的Demo。因此,趁现在有点时间,是写文章和大家分享的时候了。 首先给出这两个Demo的源代码的压缩包的下载地址,因为之前有博...
相比Windows Vista操作系统,为什么有些人更青睐Windows XP和MacOSX?毕竟,Vista相比XP视觉上更美观圆润,性能上更先进,并且在很多方面也远胜于MacOSX。为什么那......
文/莫俊超 周日的早晨对昼夜忙活了六天的人来说有着一股沁人心脾的清爽,作为一名“生活记录”活动的志愿者,我行走在萋萋芳草之间,玉带清流之畔。一个老画家在溪边画水彩,周旁已经站了众多人,好像在聆听什么,我带着录音笔和相机悄悄过去围观。 老画家打好了底稿,水彩纸上可以看到一个铅笔勾勒的轮廓,大体...
一、开篇
距离上篇《Step by Step-构建自己的ORM系列-开篇》的时间间隔的太久了,很对不住大家啊,主要是因为有几个系列必须提前先写完,才能继续这个系列,当然我......