今天,腾讯QQ于出了Linux版。一个拥有庞大的用户群体、帮助中国网民提供耗费时间的平台提供商,终于“亲自”踏上了Linux的土地。
虽然,功能还是那么的不完善,虽然,初次使用就发现了它的bug。但无论如何,这都是中国软件事业的一次进步!因为,该版本的QQ终于少了那个令人发指的咳嗽声系统消息提示音! !
正如当你听到哈欠声,看到打哈欠的人,自己也会想哈欠一下。如果说,打哈欠会传染的话,那么咳嗽声就是一种心理暗示。当听到QQ不断传来的咳嗽声系统提示,日久天长,就不会有个什么闪失吗?君不见我国网民数量跃居世界第一,而慢性咽炎广告也已铺天盖地。固然没有因果关系,也具有很强的相关性。而在若干久远的腾氏咳嗽声的熏陶下,哥们,难道从来没有过想咳的感觉吗?
终于,腾讯QQ for Linux版没有了这个潜移默化的可怕声音,我国的慢性咽炎有治了!
谨以此文献给路过的同学们,请参照以下大图一张,将Windows下QQ的系统消息提示声音换掉;也希望此类人文Bug能早日修复。
真是孤陋寡闻了。请原谅我的老土。
在今天之前我一直认为,笔记本电脑上的视频输出接口,就是来给投影仪做演示用的。而今才知它的实际用途是扩展屏幕的尺寸!
外接上一个显示器,按照下图进行设置:
从此之后,再也不愁屏幕的大小不够用,也不怕摆不下大大小小的窗口了。想放哪个显示器里就放哪个。
强烈推荐程序员同学们在往屏幕上吐血的过程中,把文档放左边的显示器上,程序放右边,相当的节省了思维切换的时间。
或者,胡思乱想下,你要是更强大的话,可以前后左右上下,都接上屏幕,嗯,难说你会成为未来虚拟现实、全景电影的领路人呢~
ISBN:978-7-5083-5393-7
Head Fisrt 系列的书,都“写”的很有创意。如果想看的主题被Head First系列选中,那是相当幸运了。
或者假若手头没有其他非常想读的东西,那么找本Head Fisrt看看也是很惬意的事情。
该书《Head Fisrt 设计模式》仔细讲解了14种模式,按类目分,分别是
创建型:Singleton、Abstract Factory、Factory Method
行为型:Template Method、Iterator、Command、Observer、State、Strategy
结构型:Decorator、Composite、Proxy、Facade、Adapter
(其他9种在附录:Bulder、Protoype、Mediator、Visitor、Memento、Interpreter、Chain of Responsibility、Bridge、Flyweight)
另外,用模式的眼光(观察者、策略、组合)剖析了MVC这样的应用模式。(所谓应用模式就是建立系统架构的模式)
抄一下OO原则和模式的定义
OO原则:
封装变化
多用组合,少用继承
针对接口编程,不针对实现编程
为交互对象之间的松耦合设计而努力
对扩展开放,都修改关闭
依赖倒置原则(P139)依赖抽象,不要依赖具体类(变量不可以持有具体类的引用,不要让类派生自具体类,不要覆盖基类已实现的方法)
最少知识原则:只和你的密友谈话(该类本身,被当作方法的参数而传递进来的对象,此方法所创建或实例化的对象,对象的任何组件)。
好莱坞原则:别找我,我会找你(高层组件决定什么时候和怎么样使用低层组件)
类应该只有一个改变的理由(尽量让每个类保持单一责任)
模式定义:
策略模式–定义算法组,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
观察者模式–在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会接到通知,并自动更新。
装饰者模式–动态地将责任附加到对象上,想要扩展功能,装饰者提供有别于继承的另一种选择。
抽象工厂模式–提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
工厂方法模式–定义了一个创建对象的接口,但是由子类决定要实例化你的类是哪一个。工厂方法让类把实例化推迟到子类。
单件模式–确保一个类只有一个实例,并提供全局访问点。
命令模式–将请求封装成对象,这可以让你使用不同的请求、队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。
适配器模式–将一个类的接口,转换成客户期望的另一个接口。适配器可以让原本接口不兼容的类合作无间。
外观模式–提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
模板方法模式–在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中(抽象的方法)。模板方法使得子类可以在不改变算法结构的情况下重新定义算中的某些步骤(不是抽象的hook方法)。
迭代器模式–提供一种顺序访问一个聚合对象的各个元素,而又不暴露其内部的表示。
组合模式–允许你将对象组成树形结构来表现“整体/部分”的层次结构。组合可以让客户一致的方式处理个别对象和对象组合。
状态模式–允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类。
代理模式–为另一个对象提供一个替身或占位符以访问这个对象。
当然,书中讲的可不像我所列的这么缺乏趣味,虽然是本大块头,但是翻页倒是快的。难得会读这么厚的书,所以让我们把这些模式放进大脑里吧。但是不要去刻意的使用他们哦。
最后,套用一句Head Fisrt系列图书话:如果计算机的书读起来能像读金庸一样,那世界一定会变得很酷。
或许就像兰迪·波许(Randy.Pausch)的Alice(http://www.alice.org/)世界一样。