关于软件设计分层的一些思考

从大学开始走程序员这条路近四年了。之前的三年大多是在学习基础知识——也不甚扎实。真正觉得进步比较快的是最近一年,主要原因有两个,一是实习了,二是在做毕业设计,其实归根结底来说,是参与真正项目的开发了就知道要学什么要做什么了。

这两个内容都是做c#和WPF。感触最深的一点就是分层。因为WPF的理念就是设计与逻辑分层,加之我的主业学的是JAVA Web,无论讲MVC还是ssh都涉及到分层的概念。具体的这些术语概念我不啰嗦,百度谷歌一下一大堆。我想要说的有两点:

1.个人对分层的认识

2.学习应该先学理念再学细节


第一点:

无论是桌面应用还是web项目,基本上都可以分为4层,显示层,控制层,逻辑层,数据库访问层。在我的毕设中我用的MVVM框架。个人感觉就是分层之后设计感特别强,各个层次之间分清楚了,在写该层的时候只需要理清直接相邻的两层的关系,提供相应的服务即可,而且因为每个类只处于一层,所以其中的函数都是同一类型的,因此思维极为平坦顺畅;还有就是在Debug的时候,因为各个层次分清了,所以定位错误也就很方便快捷。然而这样也带来一个问题,就是层与层之间的关系需要维护,有些操作需要涉及到两层的东西就比较复杂了,如界面的一些Visibility动态变化等放在ViewModel中总是不太方便,我个人认为,框架的设计是为了方便我们开发,因此我们不必拘泥于严格的这种模式,所以我在View的后台中写了一些界面变化的代码。

第二点:

我们在学一个东西的时候,首先应该掌握其脉络,理解各个部分的大概职能是什么之后,再具体去分块掌握脉络中的各个职能。这样我们知道我们在学什么,学了之后的目的是什么,学完之后我们能做什么。在最后的的这段时间内,很多同学问我问题。懂一些的还好说,大概说一下方向,百度谷歌再思考一下就解决了,最郁闷的是完全跟你的思路不搭的。你说你做个毕设都用了SSH框架了,还在jsp中写访问数据库的代码,这样真的好吗?


一家之言,不妥之处还望各位多多指正,谢谢。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值