堕落天堂
面对现实,我们无力抗拒; 忠于理想,我们全力以赴

自学了编程差不多一年的时间了。从刚开始为了自己写一个武林外传的挂机脚本,到后来为了写大话西游的答题器,现在自己一个人写网游客户端,一年的时间,觉得成长还是不慢的。

当初用按键精灵写挂机脚本,连for语句都不会,一个循环语句,需要循环几次,我就复制几次,导致很简单的一个程序,我给复制了上百行。然后用vb写答题器,发现原来写一个桌面的应用程序不是特别难。虽然啥语法都不会,但是稍微百度一下,利用强大无比的cv大法,简单的需求还是不难完成的。然后发现了原来还有java这种语言。第一个java程序就是单机版的坦克大战。带着我的坦克大战,我找到了我的第一份正式工作,做网游程序。

想来,我和游戏还有些不解之缘呢。一直以来都是游戏促使着我的编程技能的增强。

最近在做打雪仗网游,即时战斗网游对同步性要求非常高。从前写游戏,人物的行走都是客户端驱动,现在在同步性的要求下,不能不用服务器驱动人物,这是一次尝试。

近日发现了mvc这种东西。对自学编程的我来说,这是全新的概念了。mvc中,m指的是数据模型,负责管理和应用程序相关的一些数据和与外界通信数据的;v指的就是视图了,或者说是ui,一个或者多个ui组件可以用一个v来管理,v能接收和发送通知;c就是control,管理着一些命令,一般就是接收v发送的通知,然后经过逻辑处理,利用facade调用m里的方法,因为m是不能接收通知只能发送通知的。

mvc是很经典的程序框架,利用mvc写程序,能很大程度上让程序解耦。让程序分成三个完全独立的部分,日后若是需要修改或者替换其中任何一个部分,都不会影响到其他程序的运行,方便了维护和管理,这便是mvc最大的好处了。

也许初学时会有一些小困惑,在试着用mvc自己写一些简单的例子后,就会发现其中的本质思想了。我的理解是这样的,m是负责管理数据的,m根据数据的变化发出通知,告诉别人某个数据发生了如何的变化,但是通知谁,m不管,m就是拿着喇叭在院子里大声喊,谁要是对这个通知感兴趣,谁就去做相应的任务。v是负责管理ui的,v能接受通知,加入m发出一个通知,正巧,v感兴趣,那么v根据这个通知去做应该做的事情,当事情做完了,或者有别的事情需要让其他人知道的时候,v又能发出通知,但是m是个聋子,他听不见任何人发出的通知,这个时候就需要c来帮忙了。c能听见通知,如果其中一个c对此通知感兴趣,那么c可以自己进行逻辑处理,如果c的能力有限,需要m来帮忙处理一些数据上的问题时,c可以通过facade这个中介去找到m,然后让m去做数据处理。

就这么简单。这几天将客户端的程序重写了三次,越写就越觉得思想清晰了。当然也越觉得需要学的东西实在是还有很多很多。

posted on 2010-01-25 21:43  鸿杰  阅读(215)  评论(0编辑  收藏  举报