“软件设计”文章列表
摘要 本文论述了在算法分析领域一个重要问题——时间复杂度分析的基础内容。本文将首先明确时间复杂度的意义,而后以形式化方式论述其在数学上的定义......
叙事为主的设计流程表现高效 英文原文:Why good storytelling helps you design great products 对于产品设计团队来说,他们面临的最大问题是,经常将外观时髦的产品与功能优越的产品混为一谈,而且这种问题屡见不鲜。表面看来,这是一个微不足道的失误,但却...
对象和数据的主要差别就是对象有行为,行为可以看成责任职责(responsibilities以下简称职责)的一种,理解职责是实现好的OO设计的关键。“Understanding responsibilities is key to good object-oriented design”—Mart...
一直以来都存在代码注释的作用的讨论。很多人认为注释是不必要的,写注释那是因为代码可读性太差了。我也同意这个原则。如果必须添加注释,我觉得可以添加一些解释......
子类复子类,子类何其多
假如我们需要为游戏中开发一种坦克,除了各种不同的型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视......
Bob大叔和Simon Brown关于描述系统架构时基础架构(infrastructure)所起的作用展开了讨论。 在之前标题为 《尖叫的架构(Screaming Architecture)》的文章中,Robert Martin(也就是Bob大叔)阐述了这样的观点:软件产品的架构应该让所有人都...
一、上篇回顾
上篇我们主要讲述了简单工厂模式和工厂模式。并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下:
简单工厂模式:一个工厂负责所......
最近看了下《架构之美这本书》,摘录了部分书中的内容,在摘录书里面内容前先谈谈我自己对架构的看法。架构应该包括了功能性架构和非功能性架构两个方面的内容。我们......
算法与对象的耦合
对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱……
动机(Motivation)
在软件构建过程中,......
架构设计并不是项简单的工作,架构设计最终的产物则是由不同的框架组件构成一套高扩展、稳定、安全、通用的开发框架平台。或许一提到架构设计,很多朋友都联想到了常......
我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级.
存储系统从其与生俱来的使命来说,就难以摆脱复杂系统的魔咒。无论是从单机时代的文件系统,还是后来C/S或B/S结构下数据库这样的存储中间件兴起,还是如今炙手可热的云存储服务来说,存储都很复杂,而且是越来越复杂。 存储为什么会复杂,要从什么是存储谈起。存储这个词非常平凡,存储 + 计算(操作)就构...
英文原文:Are you coding for change or for stability? 让我来给你们讲一个故事:当我在大学的时候,我选了一门“高级”面向对象编程课程。以前从来没有接触过这种知识,这个课程使用 SmallTalk 这种语言教学,而且教学方式非常特别;第一天,教授给我们布...
拜现今软件进步所赐,路上的小学生都知道PS大神是什么(小朋友说:PS就是可以把我的照片变漂亮的东西)所以理所当然,很多人都把「会操作Photoshop」等于「会美术设计」给划上等号,以下提供笔者多年在中港台与日本等地从事美术相关发包经验中的见解,提供各位对应用美术有兴趣的朋友们参考。 概念——...
英文原文:Strategic Domain Driven Design with Context Mapping 作者:Alberto Brandolini 译者:韩锴 发布于 2010年4月6日 简介 当应用程序逐渐变得庞大和复杂后,很多面向对象建模的方法都达不到非常好的可伸缩性。上下...
sql语句又叫ad hoc sql, ad hoc是拉丁语,意思是for this,可以翻译为“按每一次情况的办理”。
存储过程就是stored procedure, 简写为sp。 ORM......
动机(Motivation)
在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。在这种情......
本文是从 What is Domain Driven Design? 这篇文章翻译而来。 ”…在很多领域,专家的作用体现在他们的专业知识上而不是智力上。“ -- Don Reinertsen 领域驱动设计(Domain Driven Design)是一种软件开发方法,目的是让软件系统在实...