“软件设计”文章列表
英文原文:Stop Wasting Users’ Time 我们的用户是很珍惜时间的,我们也不应该随意浪费。在每个项目中都问自己两个问题:“我们是在消耗用户的时间来节省自己的时间吗?”“在这里要如何节省用户的时间?”在西方社会中,什么是最宝贵的财富?钱?状态?我觉得应该是时间。 我们有很好的...
英文原文:Architecture as Language: A story (作者:Markus Völter,译者:张逸) 2008年4月16日 通常,架构要么是在Word文档中描述的一些软件系统中无形的、概念性的方面,要么就完全是由技术驱动的(“我们使用了一个XML架构”)。这两种方...
本文是从 S.O.L.I.D. Class Design Principles 这篇文章翻译而来。
本文是由敏捷宣言签署人之一、《 Clean Code(代码整洁之道)》一书的作者Robert C. Martin为......
本文介绍了文档管理版本管理系统的数据库表设计,大家可以借鉴一下他们的经验。
一、上篇回顾
我们上篇主要讲述了结构型模式中的外观模式,外观模式作为结构型模式中的一个简单又实用的模式,外观模式通过封装细节来提供大粒度的调用,直接的......
本系列的第一篇博文抛砖引玉,大谈领域驱动设计的优势,这里笔者还是希望以客观的态度,谈谈领域驱动设计的缺点及其不适合使用的场景,以让读者可以有选择性的使用领域驱动设计。 我们知道,没有最好,只有最合适,设计也是一样。因此,所谓设计,就是以你和你的团队的知识、经验和智慧,全面充分的考虑各种内外因素...
生活中很多人会调侃道:“每天手指在手机屏幕上滑动的距离比走路的距离还长!”随着指尖上的浏览融入到生活的方方面面,如何让用户手指滑动的更有效率,在滑动手指的同时看到更多想看的内容,而不白白滑动手指,是提升手机APP用户体验的重要方面。为深入理解人们的APP浏览行为,我们使用专门用于追踪移动设备注视...
一、开篇
本文主要是讲述设计模式中最经典的创建型模式-工厂模式,本文将会从以下几点对工厂模式进行阐述。 本文将会从上面的四个方面进行详细的讲解和说明,......
Ref Warning:设计文档的对应的 k8s 版本为1.7 Q: What is GC of Kuernetes ? GC 是 Garbage Collector 的简称。从功能层面上来说,它和编程语言当中的「GC」 基本上是一样的。它清理 Kubernetes 中「符合特定条件...
程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中...
要想真正描述一个世界,仅有结构式不行的。开始我们说过,世界观主要关注两个方面:一是世界是什么样子的(结构),另一个就是世界时如何演进的(运作)。现在,我们来讨论对象论中关于世界运作的理论。
英文原文:Why REST is so important 本文我们将讨论 REST,它定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,这是一个非常容易让人误解的概念。本文主要是写给那些想设计 WebService API 但却对 REST 没有十分清晰认识的开...
C++对象模型 话题从下面这段C++程序说起,你认为它可以顺利执行吗?//C++class A {public: void Hello(const std::string& name) { std::cout << "hello " << name; }};int ...
诚然Visual Studio是一个非常强大的开发环境,但是使用久了以后,觉得在细节方面还是有很多地方比不过Eclipse。比如:
1. 界面设计没有充分考虑空间占用
Vis......
英文原文:Flat And Thin Are In 在过去几年里,软件和APP的界面设计风格发生了迅速变化,由3D、拟物发展到扁平、简约。尽管这一趋势普遍存在,我们还是思考下是如何发展至此的,以及它对整个界面设计领域有何影响。另外,我会分享扁平界面设计的一些技巧和注意问题。WindowsPho...
这几天,要对我半年前写的代码进行一些整理工作,在看代码时发现当时有很多地方写得不够好,俗称的有“坏味道”,呵呵,重构,必须的。 几年前通读过《重构,改善既有代码的设计》一书,虽然对各种重构模式或方法记忆有限,但精髓还是记住了:改代码而不改变软件的外在表现,循序渐进。 其实,重构是一个开发人员...
平常下班时间太紧张,炒菜从洗菜到上桌也就十几分钟,味道自然就一般般了。到了周末,终于能花点时间做“大餐”了。这“大餐”之所以好吃,我觉得主要原因是食材入味深,火候匀,有时还需要经过多种烹调方法。例如这红烧猪蹄,就先得把猪蹄剁块儿;锅内烧好了开水,把猪蹄放进去焯。焯过的猪蹄要及时放在凉水中泡十分钟...
一、上篇回顾
通过上篇的简单描述,我们知道了桥接模式主要是为了解决,一个对象的多个维度的变化因素的变化太快,难以控制的问题,我们通过将每个维度的变化因......