首页
社区
课程
招聘
[原创] 谈谈陌生平台、语言的学习与mvc
发表于: 2016-1-28 00:03 15381

[原创] 谈谈陌生平台、语言的学习与mvc

2016-1-28 00:03
15381
原帖地址:http://blog.csdn.net/feivirus/article/details/50529641
      最近项目需要,接触mac平台的开发。之前做Windows上的开发,感觉很陌生的东西,几天下来,突然脑海中一直想着“3”这个数字。3层架构,界面,模型,控制,很通用的设计框架。3步学习,从windows到mac,linux,甚至Android,java的学习的过程。
     先说说3步学习。
      windows的三层相对很熟悉,流行的Direct UI或者QT写界面,展示view层。c++写dll完成业务的封装,操作文件、注册表、网络的一些API,数据的持久化,云端通信存储,业务model层。c语言写内核驱动完成一些底层监控拦截的业务,不算是标准的控制control层。界面,比如界面看一些《C++ GUI Qt 4编程》,业务层看一些《windows核心编程》,内核层看《寒江独钓Windows内核安全编程》。
      mac上刚开始接触,我的认识是。view层去了解下cocoa界面,比如《苹果开发之Cocoa编程》。model层看写object-c的资料,操作文件,网络库,cocoa提供了一些库。可以通过linux的c写so提供库的调用。mac的内核部分看下《Mac OS X & iOS操作系统》。
      java的j2se,ssh,前端也是三步学习。java se的基本语言。第二部看下Struts2的控制流程,hibernate操作的dao数据库阶段。spring或者webx的控制流程。第三步了解下前端。
      3层架构,太通用了。
      现在c++写windows客户端的代码时,也习惯的先加几个虚拟文件夹,分出UI,Model(DAO),Service,IPC,Util部分。然后考虑每一块大概几个类,给出类的一些声明,接口,然后一个个类的去填写。代码该是填的,像古时候的填词,不是写一个加一个的。UI填一些界面相关的逻辑,比如QT的界面类,实现信号/槽的一些逻辑。Model填一些业务相关的名词类,比如CFile,CReg,CFilter,CProcess,CEmail等,填充具体的方法。DAO涉及和本地xml文件的持久化操作,json和云端的交互,实现所有业务的云控。Service填一些CManager,CDispatch,CCtrl类似的一些控制,调度接口,保存些Model的成员变量。IPC用于进程间的通信,比如和驱动通信,和其他模块通信,类似CDriverIPC的类,CMessage,广播消息,点对点消息业务。UTil实现一些辅助功能,类似CommonUtil的公共函数命名空间。
      java写的后台,oc的代码,大体也是这些设计。
     MVC的简单业务区分,有时满足不了业务复杂度,比如Control层,会经常考虑一些设计模式的实现,比如监听模式,职责链,策略模式等。有意或者无意中的设计模式的使用,感觉可以区分出刚毕业程序员和写了多年代码的程序员了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 115
活跃值: (23)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
2
分类归纳,很牛B
2016-2-3 18:38
0
雪    币: 11
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
逻辑很好,支持一发
2016-2-19 07:50
0
雪    币: 55
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
道行辣么深。佩服。不过有的书看不见了。小小遗憾
2016-4-4 17:25
0
雪    币: 25
活跃值: (506)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
mark
2016-4-4 23:48
0
游客
登录 | 注册 方可回帖
返回
//