星火燎猿

我们只用技术说话 眼界决定境界,定位决定地位

架构师必看-架构之美第14章-两个系统的故事:设计之城(一)

形式永远服从功能。                                                       —Louis Henry Sullivan                    “设计之城”软件项目表面上与“混乱大都市”非常相似。它也是用C++写的消费音频产品,运...

2012-06-30 14:12:00

阅读数:10365

评论数:0

架构师必看-架构之美第14章-两个系统的故事:混乱大都市(一)

你们修筑、修筑,预备道路,将绊脚石从我百姓的路中除掉。                                        —《以赛亚书》第57章14节                  我们要看的第一个软件系统名为“混乱大都市”。它是我喜欢回顾的一个系统—既不是因为它很好,也不是因为...

2012-06-30 11:22:07

阅读数:11629

评论数:0

架构师必看-架构之美第14章-两个系统的故事:现代软件神话(一)

架构是一种很浪费空间的艺术。                        —Philip Johnson             软件系统就像一座由建筑和后面的路构成的城市—由公路和旅馆构成的错综复杂的网络。在繁忙的城市里发生着许多事情,控制流不断产生,它们的生命在城市中交织在一 起,然后死...

2012-06-30 10:37:52

阅读数:8229

评论数:0

架构之美第十三章-美丽的架构

所有前面的方法都有助于我们判断一个架构是否“足够好”—也就是说,是否有可能指导开发者和测试者构建一个系统,并满足系统的利益相关人的功能和质量关注点。在我们每天使用的系统中存在着许多好的架构。        但是,超越足够好的架构是怎样的呢?如果有一个“软件架构名人堂”,那会怎样?哪些架构会陈列在...

2012-06-29 10:33:11

阅读数:2467

评论数:0

架构之美第十二章-好的架构

我们曾提到,架构师玩的是折中的游戏。对于一组给定的功能需求和品质需求,没有唯一的正确架构和唯一的“正确答案”。我们从经验中得知,应该对架构进行评估,确定它是否满足其需求,然后再投入资金来构建、测试和部署这个系统。评估试图回答前面小节中讨论的一个或多个一般关注点问题,或回答特定系统的具体关注问题。 ...

2012-06-29 10:07:55

阅读数:2081

评论数:0

架构之美第十一章-架构结构

那么,好的架构师如何来处理这些关注点?我们曾经提到过,需要将系统组织成一些结构,每种结构都定义了特定类型的组件之间的具体关系。架构师的主要关注点就是对系统进行组织,让每种结构有助于解答一个关注点所定义的问题。关键的结构决定将产品划分为组件,并定义了这些组件之间的关系(Bass、Clements和K...

2012-06-29 09:55:36

阅读数:1946

评论数:0

架构之美第十章-创建软件架构

到目前为止,我们已经讨论了一般意义上的架构,并分析了软件架构与其他领域的架构之间有何相似与差异。接下来我们将注意力转到“如何”设计软件架构。当架构师创建 软件系统的架构时,她应该关注什么?         软件架构师的首要关注点不是系统的功能。         这是正确的—软件架构师的首要关...

2012-06-28 09:55:42

阅读数:1528

评论数:0

架构之美第九章-架构与设计

架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。所以,架构是设计的一个子集。关注实现系统组件的开发者可能不会特别关心所有组件如何装 配在一起,而是主要关注少数组件的设计和开发,包括他们必须遵守的架构约束和可以应用的规则。因此,开发者和架构师面对的是系统设计的不同方面。  ...

2012-06-28 09:09:10

阅读数:1220

评论数:0

架构之美第八章-软件架构的含义

如果认为“架构”是一个简单的实体,能够用一份文档或一张图纸来描述,那就错了。架构师必须做出许多设计决定。要想有用,这些决定必须用文档记录下来,这样就能够 进行复审、讨论、修改和批准,然后作为后续决定和构建时的约束。对于软件系统,这些设计决定包括行为上的和结构上的。         外部行为描述...

2012-06-28 09:04:44

阅读数:1654

评论数:0

架构之美第七章-软件架构师的角色

软件开发项目需要一些人在软件构建时扮演架构师的角色,就像构建或修复建筑时传统的建筑师的角色一样。但是,对于软件系统来说,从来就弄不清楚哪些决定属于架构师 的职责范围,哪些决定要留给实现者。定义架构师在软件项目中做什么,比建筑师的类似定义更困难, 原因有3 个因素: 缺少传统、产品无形性和系统复杂...

2012-06-28 08:56:48

阅读数:6889

评论数:0

架构之美第六章-建筑师的角色

在设计、构建和修复建筑时,我们指定关键的设计师为“建筑师(architects)”,并赋予他们广泛的职责。建筑师准备建筑最初的草图,展示外观和内部布局,与客户讨论这些草图,直至所有相关方都达成一致意见,认为展示的就是他们想要的。这些草图是抽象:它们关注建筑中某些方面的适当细节,而忽略其他的内容。 ...

2012-06-28 08:48:32

阅读数:1441

评论数:0

架构之美第五章-架构概述

建筑师、音乐家、作家、计算机设计师、网络设计师和软件开发者都在使用“架构”这个术语,其他人也用(你有没有听说过“食物架构”?),然而不同的用法其结果也不同。建筑与交响乐完全不同,但都有架构。而且,所有的架构师都在谈论他们工作中的美,以及因此而导致的结果。建筑师可能会说,一座建筑应该提供适合工作或生...

2012-06-27 16:12:17

阅读数:1586

评论数:0

架构之美第四章-架构与美

人们在生活和工作中发现美并创造美,软件开发和架构设计也不例外。         架构之美体现了关注点的分离与结合。在软件设计中,设计师需要考虑多方面的关注点。漂亮的架构设计让这些关注点尽可能分离,然后以最简单的机制结合在一起,从而得到高内聚、低耦合的系统。例如在Darkstar项目中,架构师们考...

2012-06-27 15:46:00

阅读数:1776

评论数:0

架构之美第三章-美丽架构之道

我无法给架构下一个简单的定义,因为任何定义都会束缚你对架构的无限想象。不可否认,架构师早已出现在人类几千年前的各项生产活动中,比如建筑、音乐。而在计算机软件及Web领域,架构的设计直接影响着系统的生产,比如开发过程和效率、代码和组 件复用性等,同时也影响着系统的可用性、可伸缩性、性能、容量可预测...

2012-06-27 15:37:30

阅读数:1463

评论数:1

架构之美第二章-美丽架构的含义

古人形容美女之美:“⋯⋯增之一分则太长,减之一分则太短⋯⋯”,深刻地揭示了“恰到好处”的美丽含义。当我拿到《架构之美》书稿时,我发现美丽的含义如此相似。        美丽至简。美丽的架构应尽可能简单,但不要过于简单。书中通过多种例子表达了这个最基本的道理。我见过很多大型的软件架构,从大...

2012-06-27 15:33:39

阅读数:1809

评论数:0

架构之美第一章-如何看到一滴水的美丽

【一】 架构是一个过程,而非一个结果。 【二】 在大多数人的谈论中,架构是一个目标产物,而作为架构师的责任就是去生产它。所以 无论如何,架构是可以“做”出来的,而且也应该有一些“做”的方法、技术、技巧。 有人问过我:架构的最主要产出是什么?我的答案是:图。这里面有两层含义:一层含 义是...

2012-06-27 15:03:36

阅读数:2382

评论数:0

jquery插件系列之 - Slider滑块

概述     滑动条是一种简单的设置一定范围内参数的插件。     官方示例地址:http://jqueryui.com/demos/slider/             ·参数(参数名 : 参数类型 : 默认名称)     animate : Boolean : false    ...

2012-06-25 17:49:18

阅读数:30017

评论数:2

天气预报web服务使用

首先你在你的web项目下面的References,右击References,点击Add WebRefercenes 然后把http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx地址输入到URl文本框后面,然后点击后面的绿色箭头,再点击添...

2012-06-25 14:48:46

阅读数:1171

评论数:0

C#读取QQWry.Dat文件实现IP查询

QQWry数据库下载地址:http://download.csdn.net/detail/fwj380891124/4385554using System; using System.Collections.Generic; using System.Text; using System.I...

2012-06-21 12:25:20

阅读数:2067

评论数:1

.NET读取QQWry.Dat 纯真版ip数据库格式数据源

最新版QQWry.dat下载地址:http://download.csdn.net/detail/fwj380891124/4385554外部调用: //测试地址搜索#region 测试地址搜索 IPScaner objScan = new IPScaner(); ...

2012-06-21 12:24:47

阅读数:3173

评论数:0

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