您的位置:知识库 » 软件设计

“软件设计”文章列表

文/莫俊超 周日的早晨对昼夜忙活了六天的人来说有着一股沁人心脾的清爽,作为一名“生活记录”活动的志愿者,我行走在萋萋芳草之间,玉带清流之畔。一个老画家在溪边画水彩,周旁已经站了众多人,好像在聆听什么,我带着录音笔和相机悄悄过去围观。 老画家打好了底稿,水彩纸上可以看到一个铅笔勾勒的轮廓,大体...
作者: 莫俊超   2012-08-30 06:26:05 阅读:2155 标签:产品设计
当我提到一个工具“对用户不友好”(user-unfriendly)的时候,我总是被人“鄙视”。难道这就叫“以其人之道还治其人之身”?想当年有人对我抱怨 Linux 或者 TeX 对用户不友好的时候,我貌似也差不多的态度吧。现在当我指出 TeX 的各种缺点,提出新的解决方案的时候,往往会有美国同学...
作者: 王垠   2012-08-13 09:04:59 阅读:7299 标签:用户友好
我想通过这篇文章解释一下我对 Unix 哲学本质的理解。我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣。虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力)。但是如果开始正视这个问题,我们也...
作者: 王垠   2012-08-12 13:27:00 阅读:18352 标签:Unix
重构最大的敌人不是技巧与能力,而是懒惰,或者说是态度。许多细小的重构看似无足轻重,例如方法重命名、提取方法。即使重构了,似乎对代码的结构也没有太大的影响,于是就决定淡然处之,心里想“事情还未到不可挽回的地步,实现功能要紧,至于重构,还是以后再做吧!”这样一想,于是就会滋生得过且过的想法,等到代码...
作者: 张逸   2012-07-04 13:04:54 阅读:3534 标签:重构
这几天,要对我半年前写的代码进行一些整理工作,在看代码时发现当时有很多地方写得不够好,俗称的有“坏味道”,呵呵,重构,必须的。 几年前通读过《重构,改善既有代码的设计》一书,虽然对各种重构模式或方法记忆有限,但精髓还是记住了:改代码而不改变软件的外在表现,循序渐进。 其实,重构是一个开发人员...
作者: caowenbin   2012-06-19 13:32:04 阅读:4061 标签:代码重构
程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中...
作者: Todd Wei   2012-06-05 21:48:02 阅读:4288 标签:API DSL
英文原文:I give the orders around here! 自从 9 岁那年得到第一台 Commodore 64 家用电脑起,我就开始编程。然而,当面对如何写出好的代码时,我仍然感觉自己还有很多要学的。 在探索如何提高自己的过程中,我学了很多种语言。大多数是以面向对象为主的(OO...
2012-05-31 06:53:15 阅读:3837 标签:面向对象
英文原文:Strategic Domain Driven Design with Context Mapping 作者:Alberto Brandolini 译者:韩锴 发布于 2010年4月6日 简介 当应用程序逐渐变得庞大和复杂后,很多面向对象建模的方法都达不到非常好的可伸缩性。上下...
作者: Alberto   2012-05-30 22:38:53 阅读:2573 标签:领域驱动开发 DDD
最近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自己的一些实践教训,让我觉得应该把这些资料汇总整理一下。如果要从讨论不同系统的众多资料中总结一条黄金法则的话,那只有一个词——“简单”;如果用一个英语单词来表达的话,那就是——KISS (Keep It Simple, Stup...
作者: 包云岗   2012-05-19 13:06:47 阅读:4952 标签:系统设计
假设我们身边的一切都是用制造材料加以描述的:“空调”不是“空调”,而是“由金属和塑料做成的物体”;“书”不是“书”,而是“由纤维和墨做成的物体”。沟通时我们也不用“空调”和“书”这样的词汇,而是“金属和塑料做成的物体”和“纤维和墨做成的物体”。 可以想象大脑在面对这些信息时会让我们觉得多么的痛...
作者: 李云   2012-05-14 08:56:44 阅读:3877 标签:软件设计
文/Todd Wei 需求又变了,怎么办? 先上一个轻松的段子:程序员 XX 遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更为渺茫。可他的 Lead 和亲人没有放弃,他们根据 XX 工作如命的作风,每天都在他身边念:“XX,需求又改了,该干活了,你快来呀!”,奇迹终于发生了,XX ...
作者: Todd Wei   2012-05-10 13:26:59 阅读:3782 标签:IoC 需求
英文原文:Tips for Effective Software Reuse 作者:Vijay Narayanan 译者:王丽娟 发布于 2009年12月30日 构建软件的每个人都会告诉你,实现软件重用极具挑战性。大规模、系统级的重用更是如此。开发人员要在最后期限内满足需求、交付功能,同时还...
2012-04-28 16:26:19 阅读:2509 标签:软件重用
英文原文:A practical guide to developing enterprise architecture 文/Franki Schafrik, 资深企业架构师, IBM 企业架构是业务及其支持数据、应用程序和 IT 基础架构的逻辑组织,为未来的业务成功明确定义了目的和目标。典...
2012-04-23 21:04:24 阅读:6360 标签:架构 企业架构
MVC和MVP的区别? MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是...
2012-04-01 13:38:57 阅读:22059 标签:微软MVP 设计模式
英文原文:Model Driven Development Misperceptions and Challenges 多年以来,采用模型驱动开发(MDD)的水平似乎仍没预期的那么好。阻碍、限制MDD使用的因素有很多,例如对实际的MDD成功案例缺乏认知、不确定如何在平常使用MDD、缺少预先投资...
2012-03-07 13:14:04 阅读:5323 标签:模型驱动开发 MDD
相关文章:可伸缩性原则 英文原文:Scalability Worst Practices 引言 在扩展大量大型的分布式系统期间,我有机会观察(并实践)了一些最差实践。这些最差实践中的大部分在开始时都没有危害,但如果疏忽大意,它们就会对系统的发展和可伸缩性构成危害。很多文章都聚焦于最佳实践,...
2012-03-01 13:18:57 阅读:1779 标签:可伸缩性
英文原文:Scalability Principles 从最简单的水平来看,可伸缩性就是做更多的事情。更多的事情可以是响应更多的用户请求,执行更多的工作,或处理更多的数据。设计软件这件事本身是复杂的,而让软件做更多的工作也有其特有的问题。这篇文章针对构建可伸缩软件系统提出了一些原则和方针。 ...
2012-02-29 12:03:52 阅读:3313 标签:可伸缩性
英文原文:Architecture as Language: A story (作者:Markus Völter,译者:张逸) 2008年4月16日 通常,架构要么是在Word文档中描述的一些软件系统中无形的、概念性的方面,要么就完全是由技术驱动的(“我们使用了一个XML架构”)。这两种方...
2012-02-26 22:18:45 阅读:4319 标签:架构设计
英文原文:Aspects of Domain Model Management (作者:Mats Helander,译者:王丽娟) 2007-12-23 导言 正如从像《领域驱动设计》[Evans DDD]和《领域驱动设计和模式应用》[Nilsson ADDDP]这些书中学到的一样,在应...
作者: Mats Helander   2012-02-24 18:31:59 阅读:4873 标签:领域驱动设计 DDD AOP
英文原文:Domain Driven Design and Development In Practice 背景 领域驱动设计(DDD)的中心内容是如何将业务领域概念映射到软件工件中。大部分关于此主题的著作和文章都以Eric Evans 的书《领域驱动设计》为基础,主要从概念和设计的角度探讨...
作者: Srini Penchikala   2012-02-20 22:47:21 阅读:9230 标签:领域驱动设计 DDD