美丽软件的两个特质

美丽软件的两个特质    Author by Michael@soho


什么样的女人最美丽?

其一,简洁

其二,独立

软件也是如此。

其三,也是另一个共通的特质是开放。对此,不同的人有不同的看法(我指的是女人的开放),但对于软件的开放,大多会认同。


简洁,第一特质,即简洁为美。 你可以从Oracle的数据字典中体验。数据字典存储的最主要的内容就是数据库中所有的表,而数据字典本身就是一张表。表中有表,简洁。再如,MQ的API屈指可数,不过是双手,低于10个,可谓是简单易学。 当然,如你所知,两者都很庞大。对于一个用户,无论是开发者还是管理员,一个简洁的美女都是最容易读懂的了。


软件中不简洁比比皆是。 打开你在开发和使用的软件,功能间交织如梭,API的设计有明显的打补丁的痕迹,等等。 最简单的判定就是,一个新人是否在有限的时间内(如1天)掌握核心的功能和设计。如果他或她是一头雾水,那么这个不够简洁的美女,也很难再第一时间打动用户的心。大多数用户在第一时间读不懂复杂的美女就会放弃。


独立,第二特质,即独立为美,低耦合为美。成功的例子难以举例,坏的例子却一定存在于你的身边。 最常见的例子就是在模块之间没有明确的界限,如模块A和模块B有时通过socket通讯,有时又通过API调用。读者一脸的疑问,作者却不自觉。 另一个低耦合的特点是每个模块都有自己的核心功能。记得小学语文老师要求我对每个自然段给出定义。本来的我还明白,年长的时候我又糊涂了。 我经常看到”花心“的模块,例如它既包括基本功能A,又掺杂了权限管理、审计等等, 再如在UI的绑定了大量业务逻辑,或是在业务逻辑中读取某些特殊的输入,林林总总。如此”花心“的模块一定会遇到伤心的时候,就是重用


开放,是经济人的最爱,是多数中国男人挠头的事儿,我很喜欢。


IT行业已经走过了封闭的年代。Open Source 大行其道只是其一, 软件专业化是其二。 没有那个软件可以全方位的满足客户的所有需求,有一个开放的接口可以让客户选择另一款软件更精专地完成特定的需求。历史上大而全的软件以及为系列软件所代替,系列软件中的某一个又会被一个优异的第3方的应用所替代。如果没有,也许就有个一个Open Source的软件诞生。这个开放软件成熟后又会衍生出商业版本。驱动这些变化的精灵就是需求和金钱,以及两者的正反馈。


开放的方式有很多,如数据导入导出,API 访问(如SDK), 数据库,service 服务(如Web Service),内外流程的集成,等等。开放的协议如果基于开发的标准,好。开放的协议基于某公司公开但专有的标准,也不错。


开放等于反垄断。MS的大型软件在欧盟被要求给出公开的API,第3方公司可以根据API有自己的实现。并且公开的API被要求严谨和准确,违者受罚。(以上情况未经证实)。公开性是反垄断的利器。简而言之,有了某软件提供的Client端的API,你我可以开发有自主版权的client端。同样,我们还可以制作一个自有版权的Server端。API相同,实现不同,没有copy right 的困扰,但有无数的市场机会。垄断者的软件有了竞品,垄断成本提高了,机会成本成为了第3方的利润源。


个人观点,不够简洁,不够完美,仅为独立拙见。

纪念七月二十七日, Michael@soho

二零一一年七月三十一日   版本一





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值