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

“软件设计”文章列表

上篇:架构漫谈(八):从架构的角度看如何写好代码 某天和朋友吃饭正好聊到这个话题。作为架构师或者做技术的人,在开发软件时,我们基本上就是在扮演上帝的角色:我们不但要创建出一个个的程序,还要让这些程序能够脱离我们在硬件上独立运行,以便为这个程序所服务的群体提供服务。当这个程序出现问题甚至bug...
作者: 王概凯   2016-04-19 08:33:08 阅读:37930 标签:架构
上篇:架构漫谈(七):不要空设架构师这个职位,给他实权 在第六篇文章中,我们得出一个结论,软件架构实际上包括了:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。因为代码架构不合理,是无法把一个运行单元分拆出多个来的,那么硬件架构能分拆的就非常的有限,...
作者: 王概凯   2016-04-19 08:11:14 阅读:36054 标签:架构 架构师
上篇:架构漫谈(六):软件架构到底是要解决什么问题? 什么是架构师 在之前的几篇文章中,经常会提到架构师这个词。我们已经定义了什么叫架构,那怎么定义架构师呢,是不是做架构的就叫架构师了? 没有这么简单,本篇尝试讨论一下这个问题。 架构师的前提条件 如果一个人在工作中,只是致力于完...
作者: 王概凯   2016-04-18 22:43:39 阅读:26659 标签:架构 架构师
上篇:架构漫谈(五):什么是软件 前一篇文章简述了什么是软件。那么什么是软件架构呢?按照惯例,我们来看看是什么问题,是谁的问题。 要解决谁的问题? 如前所述,软件实际上就是把现实生活模拟到计算机中,并且软件是需要在计算机的硬件中运行起来的。要做到这一点需要解决两个问题: 一、业务...
作者: 王概凯   2016-04-18 08:13:55 阅读:25925 标签:架构
上篇:架构漫谈(四):如何做好架构之架构切分 前面通过四篇文章,把什么是架构,如何做好架构等必要的概念澄清了一下。这些概念对于在各种不同的领域都应该也是有用的,需要读者自行思考,并应用到自己所在的领域中。在这篇文章开始,我们用同样的思考,来看看软件是怎么回事,以及如何运用架构思维,更好的设计...
作者: 王概凯   2016-04-17 22:27:03 阅读:24805 标签:架构
上篇:架构漫谈(三):如何做好架构之识别问题 前一篇已经讲了如何识别问题。在识别出是谁的问题之后,会发现,在大部分情况下,问题都迎刃而解,不需要做额外的动作。很多时候问题的产生都是因为沟通的误解,或者主观上有很多不必要的利益诉求导致的。但是总还有一部分确实是有问题的,需要做调整,那么就必须要...
作者: 王概凯   2016-04-17 21:59:29 阅读:16149 标签:架构
上篇:架构漫谈(二):认识概念是理解架构的基础 按照之前架构的定义,做好架构首先需要做的就是识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决80%了。这个能力基本上就决定了架构师的水平。 那么面对问题有哪些困难呢? 我们先看一则笑话。女主人公:老公,把袋子里的...
作者: 王概凯   2016-04-17 10:47:13 阅读:16867 标签:架构
上篇:架构漫谈(一):什么是架构? 在前一篇文章中,我们讨论了什么是架构。事实上,这些基础概念对于做架构是非常重要的,大部分人对于每天都习以为常的概念,都自以为明白了,但实际上都是下意识的,并不是主动的认识。比如说“什么是桌子?”,做培训的时候,我经常拿这个例子来问大家,回答千奇百怪。这实际...
作者: 王概凯   2016-04-17 10:25:18 阅读:24570 标签:架构
架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏负责人Gary(微信greenguolei)深...
作者: 王概凯   2016-03-09 20:28:40 阅读:49181 标签:架构
目前讨论架构实操(术)的文章较多,讨论架构理念(道)的较少,本文基于作者在大型电商系统架构方面的一些实践和思考,和大家聊聊架构理念性的东西,希望能够抛砖引玉,推进大家对架构的认识。 什么是道,什么是术?道是事物发展的本质规律,术是事物发展的具体途径。规律只有一个,途径很多,条条大路通罗马,...
作者: 王庆友   2016-03-09 20:18:39 阅读:15897 标签:架构
今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前工作过的公司 eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构...
作者: 杨波   2016-02-08 11:26:20 阅读:15895 标签:架构师 架构设计
英文原文:From Doodles to Delivery: An API Design Process 要想设计出可以正常运行的Web API,对基于web的应用的基本理解是一个良好的基础。但如果你的目标是创建出优秀的API,那么仅凭这一点还远远不够。设计优秀的API是一个艰难的过程,如果它...
2015-11-24 15:29:55 阅读:18787 标签:API设计
好的架构不是设计出来的而是演进出来的 对很多创业公司而言,在初期的时候,我们很难在初期就预估到流量十倍以后、百倍以后、一千倍以后网站的架构会变成什么样。当然,如果在最初的时期,就设计一个千万级并发的流量架构,那样的话,成本是也是非常之高的,估计很难有公司会这样做。 所以,我们主要来讲架构是如...
2015-11-22 17:36:19 阅读:17975 标签:网站架构
这篇文章谈下编码中的一些细节问题,在谈之前首先还是要继续推荐下《代码大全》这本书,该书在很多公司都会被推荐为新人入职后的必读书,即使在互联网和敏捷开发环境下,该书对于新人仍然有仔细阅读和体会的必要,要明白架构和设计思维的基础仍然是编码思维,面向对象思维的基础仍然是代码本身的逻辑和结构,如果不能写...
作者: 人月神话   2015-10-30 09:24:57 阅读:11628
disclaimer: 本文所讲的设计,非UI/UE的设计,单单指软件代码/功能本身在技术上的设计。UI/UE的主题请出门右转找特赞(Tezign)。 在如今这个Lean/Agile横扫一切的年代,设计似乎有了被边缘化的倾向,做事的周期如此之快,似乎已容不下人们更多的思考。MVP(Minima...
作者: programmer_life   2015-09-03 22:54:28 阅读:5348 标签:软件设计 程序员
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇...
作者: 蔡晓建   2015-07-18 19:57:09 阅读:60453 标签:REST
两周前因为公司一次裁人,好几个人的活都被按在了我头上,这其中的一大部分是一系列REST API,撰写者号称基本完成,我测试了一下,发现尽管从功能的角度来说,这些API实现了spec的显式要求,但是从实际使用的角度,欠缺的东西太多(各种各样的隐式需求)。REST API是一个系统的backend和...
作者: programmer_life   2015-06-27 14:27:29 阅读:13233 标签:REST API
2011年3月份还在华为夜以继日的时候,买过一本《领域驱动设计:软件核心复杂性应对之道》,虽然努力的看过一次,没看懂,觉得都距离我很遥远。2014年4月,在ThoughtWorks还不到一年,买了一本腾老板的《实现领域驱动设计》,看了一遍,似乎理解了一些,但还是有些摸不着头脑。 做IT的一方面...
作者: he.sicong   2015-06-09 18:20:44 阅读:7575 标签:DDD 领域驱动设计
上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们...
作者: Johnny.Liang   2015-06-02 18:47:00 阅读:8926 标签:DDD 领域驱动设计
曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的时候,面对一个类中成百上千行的代码,没有注释,千奇百怪的方法和变量名字,层层嵌套的方法调用,混乱不堪的结构,不要说准确找到Bug所在的位置,就是要清晰知道一段代码究竟是做了什么也非常困...
作者: Johnny.Liang   2015-05-29 22:41:17 阅读:8556 标签:DDD 领域驱动设计