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

“软件设计”文章列表

从 Rob Pike 的 Google+ 上的一个推看到了一篇叫《Understanding Object Oriented Programming》的文章,我先把这篇文章简述一下,然后再说说老牌黑客 Rob Pike 的评论。 先看这篇教程是怎么来讲述 OOP 的。它先给了下面这个问题,这个...
作者: 陈皓   2012-12-28 16:34:07 阅读:4716 标签:面向对象
1、软件长期运营存在什么问题 一个大规模的客户端软件的生命周期中,我们可以把它分为两个比较粗的时期。一个是前期的搭建软件的时期,即从无到有的时期;第二个是搭建完成之后,进入的一个稳定的运营时期。第二个时期才是最关键的,在这个时期我们会持续的迭加需求,持续的优化功能,而且第二个时期也是代码在慢慢...
作者: 醉梦独倚   2012-12-11 22:04:33 阅读:6135 标签:依赖
平常下班时间太紧张,炒菜从洗菜到上桌也就十几分钟,味道自然就一般般了。到了周末,终于能花点时间做“大餐”了。这“大餐”之所以好吃,我觉得主要原因是食材入味深,火候匀,有时还需要经过多种烹调方法。例如这红烧猪蹄,就先得把猪蹄剁块儿;锅内烧好了开水,把猪蹄放进去焯。焯过的猪蹄要及时放在凉水中泡十分钟...
作者: 夏天可是个好季节   2012-12-07 21:50:33 阅读:3770
1. 谈谈我对程序的理解 作为程序员你对程序是如何理解的?写这篇文章的时候,我认真思考了下,发现我对程序的理解不是和教科书一样的,我每次听到程序二字我想到的只有两个东西:代码和数据,而每次写程序的时候也就是写代码操作数据的过程。 做程序开发和做菜很像,数据就是食材,代码就是厨艺,做出的软件就...
作者: 夏天的森林   2012-12-07 21:39:58 阅读:7504 标签:Java 架构 Key-Value
“怎么了?”除非你对某类对话框已司空见惯,否则遇到,第一反应往往是这样的?这种体验就像你明明急着去赶车,途中却不断被拦住塞传单一样。不能否认,它是一种打断,有时甚至会成为打扰。做为设计师,虽知“打断”暂不能杜绝,但不使之变为“打扰”,却是我们该努力做到的: ①多次打断=打扰 隔一个小时打断你...
作者: 多棱静   2012-12-05 12:43:42 阅读:7613
1. 为什么分层? 计算机领域的体系结构普遍采用了分层的方式。 从整体结构来看: 从最底层的硬件往高层依次有: 操作系统 -> 驱动程序 -> 运行库 -> 系统程序 -> 应用程序等等。 从网络分层模型OSI来讲,由上至下为: 应用层 -> 表示层 -> 会话层 -> 传输层 ->...
作者: phpkernel   2012-11-26 13:27:35 阅读:7150
UX Movement 是一个专注于界面设计的博客,其创始人 Anthony T 在 Smashing Magazine 上发表了一篇文章《Better Password Masking For Sign-Up Forms》,文中指出用户进行注册时,隐藏密码是不合适的,不仅会阻碍用户快速、准确地...
2012-11-11 13:33:35 阅读:8033
英文原文:Scalability Best Practices: Lessons from eBay 在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要...
作者: Randy Shoup   2012-11-02 14:54:36 阅读:4889 标签:eBay 网站架构
今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术。我们抛开任何具体的技术,来谈谈如何提高代码质量。如何提高代码质量,相信不仅是在座所有人苦恼的事情,也是所有软件项目苦恼的事情。如何提高代码质量呢,我认为我们首先要理解什么是高质量的代码...
作者: fangang   2012-10-31 16:53:35 阅读:11864 标签:代码质量
1. 架构概述 领域驱动设计(Domain Driven Design)有一个官方的sample工程,名为DDDSample,官网:http://dddsample.sourceforge.net/,该工程给出了一种实践领域驱动设计的参考架构,本文将对此该架构进行简单介绍,并就一些重要问题进行...
作者: bluishglc   2012-10-23 16:02:25 阅读:11187 标签:领域驱动设计 DDD
英文原文:You Already Know How To Use It 译者:泽维尔 在iPad的第一部电视广告中,旁白这样说道,“它是如此的强大,如此的神奇。你早已经知道该怎么使用它。”这是一个非常有力的陈述。这是一款最新的,具有市场变革意义的,革命性的产品,不同于我们曾见过的任何产品,而...
2012-10-05 17:31:07 阅读:3491
1. 前言 最近一段时间做项目,需要做机能模块的设计。客户方指名要用UML图作设计资料。 但是跟日本人打了这么多年交道,UML图是什么东西,我早就忘记光了,没办法,只好从头查资料。 于是做出来了这样一个资料,把我学习UML的方法和结论告诉大家,让大家在5分钟之内都能学会UML。 2. 第...
作者: nanjingjiangbiao   2012-10-03 11:21:10 阅读:10689 标签:UML
英文原文:Fixing a Bug is Like Catching a Fish 经理:该Bug何时能得到修复?经验缺乏的程序员:也许一个小时?最多两个小时!马上去做!经验丰富的程序员:嗯,捉一条鱼需要多少时间呢? 在现实操作中,很难能明确知道一个软件缺陷需要多久可以修复,尤其是当你对代码不...
作者: Jim Bird   2012-09-13 10:43:36 阅读:5057 标签:Bug 调试 测试
文/莫俊超 周日的早晨对昼夜忙活了六天的人来说有着一股沁人心脾的清爽,作为一名“生活记录”活动的志愿者,我行走在萋萋芳草之间,玉带清流之畔。一个老画家在溪边画水彩,周旁已经站了众多人,好像在聆听什么,我带着录音笔和相机悄悄过去围观。 老画家打好了底稿,水彩纸上可以看到一个铅笔勾勒的轮廓,大体...
作者: 莫俊超   2012-08-30 06:26:05 阅读:1898 标签:产品设计
当我提到一个工具“对用户不友好”(user-unfriendly)的时候,我总是被人“鄙视”。难道这就叫“以其人之道还治其人之身”?想当年有人对我抱怨 Linux 或者 TeX 对用户不友好的时候,我貌似也差不多的态度吧。现在当我指出 TeX 的各种缺点,提出新的解决方案的时候,往往会有美国同学...
作者: 王垠   2012-08-13 09:04:59 阅读:5948 标签:用户友好
我想通过这篇文章解释一下我对 Unix 哲学本质的理解。我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣。虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力)。但是如果开始正视这个问题,我们也...
作者: 王垠   2012-08-12 13:27:00 阅读:16731 标签:Unix
重构最大的敌人不是技巧与能力,而是懒惰,或者说是态度。许多细小的重构看似无足轻重,例如方法重命名、提取方法。即使重构了,似乎对代码的结构也没有太大的影响,于是就决定淡然处之,心里想“事情还未到不可挽回的地步,实现功能要紧,至于重构,还是以后再做吧!”这样一想,于是就会滋生得过且过的想法,等到代码...
作者: 张逸   2012-07-04 13:04:54 阅读:3291 标签:重构
这几天,要对我半年前写的代码进行一些整理工作,在看代码时发现当时有很多地方写得不够好,俗称的有“坏味道”,呵呵,重构,必须的。 几年前通读过《重构,改善既有代码的设计》一书,虽然对各种重构模式或方法记忆有限,但精髓还是记住了:改代码而不改变软件的外在表现,循序渐进。 其实,重构是一个开发人员...
作者: caowenbin   2012-06-19 13:32:04 阅读:3865 标签:代码重构
程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中...
作者: Todd Wei   2012-06-05 21:48:02 阅读:3563 标签:API DSL
英文原文:I give the orders around here! 自从 9 岁那年得到第一台 Commodore 64 家用电脑起,我就开始编程。然而,当面对如何写出好的代码时,我仍然感觉自己还有很多要学的。 在探索如何提高自己的过程中,我学了很多种语言。大多数是以面向对象为主的(OO...
2012-05-31 06:53:15 阅读:3611 标签:面向对象