
设计
文章平均质量分 79
Horky
爱探索、爱技术!简单地快乐着!
展开
-
API的设计与实现
关于API的设计与实现API的设计是软件开发中一个独特的领域。最主要的特殊点在于API是供开发者使用的界面,即Application Programmer Interfaces。所以相对于依据软件设计的原则,考虑用户的”体验”会更加重要。许多著名的工具和库的作者都写过相关的著作,详细的论述他们在API上的设计与实现要点。本文是尝试对前人工作的总结。原创 2015-06-24 00:09:17 · 12071 阅读 · 1 评论 -
如何避免类的膨胀
类的膨胀(Bloating)指的是类中成员过多,甚至出现无序增加的情况。过大的类,会使得复杂度急剧增加,维护会变得更为困难。所以需要控制类的增长。本文总结了一下,简单介绍四种解决的方式,我故意用四个来讲,主要为了介绍最后一种方式。原创 2015-06-25 02:11:29 · 4193 阅读 · 4 评论 -
[OOD]违反里氏替换原则的解决方案
关于OOD的几个设计原则,大家耳熟能祥了,不再展开,可以参考设计模式的六大设计原则之里氏替换原则。这里尝试讨论常常违反的形式和解决方案。违反里氏替换原则的根源是对子类及父类关系不明确。我们在设计继承关系常常受一些主观认识的左右,比如Robert C. Martin提到的线段与线的关系,以及被大家说到烂的正方形与矩形。从以前的经验我们认为它们符合继承关系,比如线段是线的较短形式,正方形是矩形的一个特例原创 2015-09-24 01:00:14 · 5600 阅读 · 4 评论 -
如何实践设计原则
大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在面向对象分析与设计>>中提出了四个基础原则:抽象 核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。封装 核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。模块化 核心思想是分而治之,各个模块应当高内聚、低耦合。层次结构 核心是对抽象的分级和排序,可以简化对系统翻译 2016-01-09 03:24:23 · 2802 阅读 · 0 评论 -
网络性能评价方法
目前度量网络的品质的方法如果仅以网络连接类型来区分,比如2G, 3G, Wifi等,无法有效感知到当时的网络状态。在同一网络连接类型下,网络的品质仍有大幅波动,可能会因为阻塞以及线路上问题导致延迟上抖动(jitter)、丢失数据包、数据包损坏等情况。本文基于对一段时间的网络数据的记录,进行算法处理,可以测出一个衡量当时网络状态的指标。原创 2016-03-08 00:41:45 · 17349 阅读 · 2 评论