• 平凡程序员的悲哀


    之前一直使用ASP.NET的WEB FORM方式来进行网站开发,从未使用过MVC,虽然我听说过MVC框架模式,却没有理解,不上心,却另辟蹊径,试着用了一下MVP模式。其实,MVP算是WEB FORM的范畴。2013年从VS2008转到使用VS2012,发现差异真是太大了,界面变化很大,MVC,Razor,NuGet,……,这都是哪跟哪?!晕。。。落后太多了。


    这次一个全新的项目,就使用MVC,许多不明白,许多不习惯,硬着头皮来。来到登录认证模块,因为项目时间赶,也来不及仔细研究,觉得无从下手,以前在WEB FORM模式下积累的单点登录代码不知道怎么用上去。比方说,有些页面不需要登录就可以访问,有些页面强制登录才能访问,在WEB窗体模式下,这些强制登录页面都继承某一个类,在这个类里边会检查登录情况,发现没登录,跳到登录页面。而在MVC下,一个页面分成了三块:MODEL + CONTROLLER + VIEW。Controller里面又分为一个个Action,需要认证的,就在ACTION里使用特性

    [Authorize]
    public ActionResult Welcome()
    {
    return View();
    }

    但这要使用.NET默认自带的认证功能。如果用我以前写的那些认证代码,我应该怎么做?要重载这个特性类?


    思前想后,还是使用.NET默认自带的。一方面,我相信他们写的更好,安全性更高,技术也更强,使用他们的,可以让项目受益,让我长见识。另一方面,这个默认自带的认证模块,内含了注册、登录、修改密码等,连数据库都设计好了,节省不少劳动。


    有篇文章说,程序员十大浪费生命的表现之一,就是花了很多时间去搞一个什么通用型的,可供用户定制的什么开发包之类,比如万能的查询模块等等。一方面,这个很容易出现成为一个无底洞,工作量很大,越搞越复杂,永远没有尽头;另一方面,就算搞出来,究竟有无这个必要,业界可能已经有新的技术、思想出现,作为平庸之辈的我们,所搞的这些东西,估计只是个玩具。这是我们这些平庸程序员的悲哀。就像我们之前搞的那些单点登录,我前不久还重构了一次,想着以后的项目可以很方便的使用呢。


    所以,对于平凡程序员来讲,不要用业余时间去自己搞一个什么东西,其实搞不出什么东西,即使搞出来也是个废物,应该把精力放在不停地学习上面。计算机一朝入行,只能终身学习。我有个亲戚做建筑的,他说他们建筑行业的一些标准,几十年前制定,到现在还在使用,而看看我们计算机软件,用日新月异,风起云涌都不足以形容它的变迁之快。


    但是,任何技术都不是横空出世的,都有一个完善的过程。我相信学习现有知识和思想总比创造新知识,新体系要快。所以保持不断学习,避免纠缠于一些技术细节,就能尽量延长我们的职业生命。

  • 相关阅读:
    (转)一文讲清TCP/IP 协议
    Java框架之Spring Boot和Spring Cloud区别
    php大力力 [006节]初步接触认识phpMyAdmin
    php大力力 [005节] php大力力简单计算器001
    php大力力 [004节]PHP常量MAMP环境下加载网页
    php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具
    php大力力 [002节]mac php环境安装,mamp安装 ,phpMyAdmin启动
    php大力力 [001节]2015-08-21.php在百度文库的几个基础教程新手上路日记 大力力php 大力同学 2015-08-21 15:28
    C# DataSet与DataTable的区别和用法 ---转载
    【SqlServer】利用sql语句附加,分离数据库-----转载
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257973.html
Copyright © 2020-2023  润新知