定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口...
分类:
其他好文 时间:
2015-04-11 17:54:23
阅读次数:
167
MVVM是微软提出一种移动开发框架,旨在针对传统的MVC框架,解决传统的MVC框架的控制器的臃肿问题.
M:
Model模型,也就是数据模型;比如一条微博,对应的所有字段合成一条微博整体,这个整体就是Model
V:
View视图,只用来显示的视图,如 iOS的UIView,Cell;当然在 iOS中 Storyboard中,view总是和控制器关联,这并不是严格的view
如果...
分类:
移动开发 时间:
2015-04-09 17:41:09
阅读次数:
253
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的增多,平台已经臃肿不堪。 我们在设计基于.NET的GPS部标平台的时候,就坚定不移的选择了基于JQU...
分类:
Web程序 时间:
2015-04-09 00:52:18
阅读次数:
204
这题我特别愚蠢的把输入视为字符串,代码变得臃肿又繁琐超时原因:给每个数打表,最后把区间内数相加,要是有多组很大的数,比如1~999987,4~777777……复杂度就是指数级修改:表中每个元素i存储0~i的总个数#include #include #include #include #include...
分类:
其他好文 时间:
2015-04-08 16:19:23
阅读次数:
113
Archlinux 折腾记录及感受(上)
没装过十次以上Linux,别说你玩过Linux。
第一次听说Archlinux还是在几周前,对命令行安装系统的敬畏、少而碎片化的空闲时间以及糟糕的校园网络环境使我没有勇气与精力去折腾。这次卸掉Ubuntu,倒腾起Archlinux,不是自己闲着蛋疼。主要是,ubuntu的桌面实在是太臃肿,用起来有种windows的感觉,可又没有win方便,定制性也不够强...
分类:
系统相关 时间:
2015-04-05 09:06:18
阅读次数:
236
第五章 管束奇客和狗用代码行数做判断标准只会鼓励程序员写臃肿、蹩脚的代码。即时通信、聊天室、缺陷跟踪、源借故传统的邮件列表等工具,个人感觉要慎用这些工具,否则你的工作时间会被这些工具吃得一干二净。第六章 搞掂设计方案别做大项目。从小项目开始,而且永远不要期望它变大。如果这么想(指做大型软件),就会做...
分类:
其他好文 时间:
2015-04-04 13:36:23
阅读次数:
116
使用多个专门的接口比使用单一的总接口要好。
一个类对另外一个类的依赖性应当是建立在最小的接口上的。
一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,用户使用就麻烦了。...
分类:
其他好文 时间:
2015-04-01 19:58:25
阅读次数:
135
【使用状态模式来重构Switch语句】 以下代码在一个Switch中处理了多个情况,当case越来越多或每个case逻辑越来越多时,会产生臃肿难以维护的代码。 状态模式常用于优化Switch的此种弊病。重构手段一,使用继承。 继续优化,使用状态模式。 这里使用的重构技术叫 Rep...
分类:
其他好文 时间:
2015-04-01 12:48:50
阅读次数:
135
我讨厌用Evernote(印象笔记)的最大原因就是:作为一个笔记软件,它太臃肿了。前段时间苹果电脑MacOSX系统上出现了一款简洁轻便、功能全面的第三方Evernote客户端:Alternote。体积仅为Evernote官方客户端的约1/10,却拥有我想要的所有功能和很合理的设计。提供网址:http://a..
分类:
其他好文 时间:
2015-03-20 18:56:55
阅读次数:
170
搞移动端有段时间了,一直使用别人的API,自己也只写过ASP.NET网站作为网络服务,相对来讲是很大的短板。虽然ASP.NET可以提供想要的web服务,但是其体量臃肿,响应速度非常慢,这点我非常不喜欢。最后在Node.js和Python之间,我选择了Python进行web service开发,其相应...
分类:
编程语言 时间:
2015-03-18 20:22:03
阅读次数:
160