- 积分
- 40165
- 好友
- 记录
- 主题
- 帖子
- 听众
- 收听
|
浅谈我对C#框架的理解
迷茫?
我相信在说到框架和架构的时候,很多程序员是迷茫的。甚至会有人分不清什么是框架,什么是架构。
那么我先来解析一下我对这两个概念的理解
定义
架构:顾名思义它是指你的系统或者是程序的整体设计思路和结构,也可以说是我们在做事情之前画的草图。或者是叫作战方案。它是思想是宏观的 今天我们只说框架,架构咱们下次再说。
框架:先来看看百度给的定义
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。
我的理解是他是我们程序员开发的指导思想和规则,或者是说规范。当然这些规则和规范中会带有一些高级或者是技巧类型的思路和代码
为什么我们要学习框架
有人会问我们为什么要了解这些,我都写了十来年程序了,也没有学习过这些,一样写的程序很牛,一样是公司的主力。一样在公司没有我解决不了的问题。我相信肯定会有人这些想。
当然我不否认上面的观点。如果你仅仅是想当一个程序员,一个在一个划定好不可能需要这些技术的公司里沉寂你的英雄梦,那你真的不需要学习。
但是,如果你想成为一名能领导几十人,或者是上百人的项目 经理。或者是技术总监。或者是传说中的Cto。
再或者你想进入一些大的企业有更好的发展,那么我可以准确的告诉你,这是你的必备技能。不光要会,而且要做的很好。
在我看来每一个程序都有自己的框架,只不过是有好坏之分,这个差距最明示的表现就是我们薪资和待遇上的差别。有的程序员工作了十年,还不是一样在一个工作了三两年的项目经理手下工作,试想一下有多少人比自己的经理薪资高,待遇好的。
人要向高处看。向上走。就要学会带人,领导人。而我感觉想领导人,不光要会识人,有指挥能力,更重要的是要有技术框架,最少是要有自己的一套独特思想。
比如有一个大型的系统,你只要分析一下需求就能设计出一套框架,带有分布式功能,带有负载均衡的解决方案,带有高并发的方案,带有搜索的索引指导功能。
其实这些你只需要做一套最简单的代码,把框架拉出来就可以指挥人去做了。当然你的待遇和领导对你的看法会有质的改变,他会认为你是一个将才。
技术大牛多的是,可以说百度,Google都是技术大牛,不会的都可以问他们。但是一个有思想的框架师确不是你光靠搜索就能解决的。面这样的人才也是光少见的。
没有框架的弊端 你会不会发现有时候你预计的工期会和你实际的工期相差不半都不止。
你会不会发现你做的程序总是要改来改去,改到最后不能用了,告诉领导要重新开发。
你有没有发现领导只要让你修改一个页面的布局你就需要修改好多程序,甚至是没有办法修改下去。然后还要抱怨领导老是改来改去的。
你会不会经常听到领导说你开发个功能怎么这么慢,怎么需要这么长时间,而且还做的不理想。
你有没有发现有些程序在一定程度上是万能的,因为他能适应 各种需求,只需要做一个简单的配置,比如Cms,或者是说DZ论坛。
为什么它们能做到呢。其实就源于他们有很好的系统框架,要写程序之前就考虑到了这些问题。比如需求改变,数据库改变,甚至是所有界面化的改变。
那这是为什么呢?为什么?因为你不懂框架,你在做之前没有思考过要怎么样布局你的程序,要应对什么的环境和需求
框架指导我们升值
如果你对框架有深入的理解和设计能力,那你升值的不仅仅是职位和待遇,身份这些。你会发现你不管去任何一个城市,任何一个相当的公司,你的待遇只会越来越好
试想一下,如果有一天,你看到需求就能知道怎么样设计程序框架应对未来的环境和需求,那么我相信你的个人价值会有质的飞跃。
当然这不可能是一朝一夕的事情,我们要从现在开始,认真思考我们做程序时,为什么要这样写,为了解决什么问题,要应对什么样的变化
如果你能做到这点,我相信再加上一些专业的框架学习,过不了多久,你就可以离开你现在的岗位。你会发现你走到那里都会有很多,公司想拉你入伙。
就是你不相进他们公司,他们也希望和你做朋友,告诉你随时欢迎加入他们并给你不错的岗位和薪资允诺!
|
|