优秀设计的几个重要原则

原创
2012/12/13 13:47
阅读数 232

1、一致性原则:适用于各种设计场景,比如系统架构设计中操作系统、软件版本都要一致,便于管理便于自动化部署,试想一下,假如你们公司用了各种操作系统、各种服务版本又不一致,天知道怎么管理这些服务器。代码设计中代码风格、注释风格、文件编码等等都要一致,你自己设计的代码风格都不一致想想几个月后你还能读懂自己的代码了吗?软件设计也要一致,你做一个网站,有的页面是ajax加载的,有的是直接加载的,用户刷新的时候就会有时候跳到这有时候跳到那,体验很差,而且实现的时候代码也不好复用。美工设计也要一致,整个主题是蓝色,突然来了个红色,太破坏和谐社会了……总之一切都要遵循一致性原则。优秀的一致性设计比如hadoop系列,hadoop、hive、pig、sqoop等等目录结构一致,配置方法也一直,这样用户配的起来很方便,不看文档也知道怎么配了,猜都能猜到,这就是一致性的最高境界。


2、简单性原则:
任何东西的设计都要尽量简单,服装、网站、程序、架构……都不要过度设计,初级人员总觉得只有复杂的设计才能体现出他的才能,真正的大师可能是已经厌倦设计复杂的东西因此他们设计的东西都很简单。系统越复杂引入bug的可能性就越大,运行效率也越慢,因此总是想想有没有更简单的方法是追求良好设计的简单途径。


3、层次性原则:
模块化也好、面向对象也好、MVC也好,云计算也好,其实本质无非就是分层,划分出良好的层次便于管理、便于维护、便于人类理解,同时附带的好处就是灵活性和复用,分出了层次就可以把各个层次灵活的组合起来并且可以重用某个层。比如现在很火的云,以前服务器和平台都是柔在一起的,云把他们分开了 服务器叫IaaS层,平台叫PaaS层,这样当我们要用数据库的时候不用安了 到IaaS层拿就好了,不用关心它安在哪台服务器上不用自己配集群,因为那一次已经抽象出来了。


4、开放性原则:
不但源码要开放、设计也要开放,不用把任何东西设计成固定的,不可变的。世界本来就是变的,没有任何东西是不变的,所有设计的时候就要考虑以后的扩展和变化。闭源的问题就出在他觉得自己的代码不会变或者说不能让别人变。


任何优秀的设计跑不出这些原则,不信你想想spring、 linux、 cloud、mvc、...

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部