再读《被神化的框架》

开发框架,构件,组件非常地多,而且,趋势是越来越多,特别是在java中。当然也不是说其它平台的少。而特别是框架越来越被神化了,似乎用之解决一切问题,不用就要敲坏键盘。对于老衲这样的打字员来说,还是很爱惜自己的键盘的。

框架为什么会被神化?首先,框架是N种项目同类型代码、思想的提炼。它当然可以解决很多问题。比如java世界的Spring,Struts,Hibernate,Java EE;dotnet的ADO.NET Entity Framework,MVC,企业库,NHibernate,NBear;Ruby的ROR等等。而框架被神化的另一点就是言必称框架。不用框架就不是一个好架构,不用框架则后期维护就一定会出现问题。

而世上往往浮躁的人要多于踏实的人,用框架只管“怎么用?”,而不管其它的问题。以至于出现问题时,就无法解决。导致的问题,一般也不至于引起项目崩溃,但是很多项目出现版本脱离管理或者暂时混乱是肯定的。

特别是对于老衲这样的菜鸟来说,更加吃力了。学习框架吧,但是一个完善的框架必然是起码好几百K的代码,而且框架的代码都是接口来接口去,看得是云里雾里,再抽根烟就更加形象了。不学习吧,总感觉很心虚,好像在造豆腐渣工程一般。

而且一般的问题介绍框架都是猛讲配置,讲原理的相对来说就比较少,梳理代码的就更加少了。这弄得老衲都不敢用啊,出了错,找谁去啊?这就是看着心痒,就是不敢下手。这就是一个恶性循环了,不敢去用,而不用呢又没办法懂,反正高手们也都不讲详细。狠下心的,过了桥了,没下决心的还在河边等。

但是学也无从学起啊,刚搞java的,直接学框架那可是比跳楼还有难度。dotnet的还好一些,比较配置相对简单一点。

那来搞清楚什么是框架?那是一个复合代码重用,设计重用,也可能有分析重用的一个东西。框架也是用初学者从书本上看到的那些个简单语句关键字开发出来的。比如,java里的jsp、serverlet、javabean看似过时了,但是Spring,Struts这些东西的基础还就是那些东西,只是整合得非常好而已。这样看,框架似乎也没什么大不了的嘛,学学基础,学学设计模式,自己也可以搞一个出来。

当然,实际上也没那么简单,开发一个框架要考虑各个层面上的问题。而这些东西了,就不去扯了。重要的是知道去学基础的东西并不是一种倒退,不用框架页未必开发不出好东西来。设计跟开发是两码事情,有些人可能觉得设计能力很牛了,拿到个项目就可以画出个结构图出来,分层分得很好。但是不一定能开发得出来。看过几天UML估计都可以画出那个图,实践那个图的能力要比画的难度大得多。

有时候经常想啊,尝试去遭遇各种问题,再来学框架啊设计也许会更加深入一些。不遇到根本就不会产生那种共鸣,也就能背背书,背出来的东西不知道去哪里用。
 转自:http://www.cnblogs.com/birdshover/archive/2008/11/26/1341568.html

 

很老的文章,现在再读读,很感触。很有意思,各位觉得呢?

转载于:https://www.cnblogs.com/xiaochao12345/p/3994106.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河南推出近万亿PPP投资计划 郑州实现智慧城市全覆盖

1 近万亿PPP项目启动 眼下,国内财经新闻的热点聚焦在PPP开发上,这与PPP支撑国内经济平衡运行的一支强劲力量正被政府看好。就连二级市场也出现了PPP概念的抢筹现象。 9月27日,股市再一次遭遇抛售,大盘创出阶段性新低,然…

java基础实例代码_Java基础实例

打印等腰三角形代码public class ForForTest{public static void main(String []args){for(int x0;x<5;x){for(int yx1;y<5;y){System.out.print(" ");}for(int z0;zSystem.out.print("* ");}System.out.println();}}}折半查找代码&#xff1a;//练习…

###《Effective STL》--Chapter3

点击查看Evernote原文。 #author: gr #date: 2014-09-13 #email: forgeruigmail.com Chapter3 关联容器 Topic 22: 切勿直接修改set或multiset中的键 修改元素的值可以通过下面五步操作&#xff0c;避免作类型转换。 struct IDNumberLess : public binary…

如何获取网络资源?

# encodingutf-8 #python 2.7.10 #xiaodeng #如何获取网络资源&#xff1f; #HTTP权威指南 26页#url就是因特网资源的标准化名称&#xff0c;他指向每一条电子信息&#xff0c;告诉你他们位于何处&#xff0c;以及如何与之交互。 #URL是浏览器寻找信息时所需的资源位置。 #一个…

Loadrunner多服务器连接问题

今天用想增加一个压力机,在服务器管理列表里怎么也连不上,后来解决方法如下:1. 关闭所有loadrunner组件,并手动结束lr_开头的进程2.找到惠普loadrunner安装目录(C:\Program Files\HP\LoadRunner\bin),手动运行magentproc.exe即可最新内容请见作者的GitHub页&#xff1a;http://…

java 常量存储_JAVA 存储空间 寄存器 堆栈 堆 常量存储 非RAM存储

&#xff11;.寄存器这是最快的存储区&#xff0c;因为它位于处理器内部&#xff0c;数量极其有限&#xff0c;所以寄存器根据需求进行分配&#xff0c;你不能直接控制&#xff0c;也不能在程序中感 觉到寄存器存在的任何迹象。2.堆栈位于通用RAM(随机访问存储器)中&#xff0…

物联网安防技术融合在细分领域的应用分析

物联网的核心是业务和应用的创新。物联网技术与智能化技术的深度融合&#xff0c;加快了行业的智能化发展&#xff0c;促使了行业需求在应用层上的落地。安防技术架构是物联网架构的一个子集&#xff0c;传统安防是一个相对保守的行业。现代安防和物联网在业务和技术上的融合发…

一个强大的工具来模拟数百万​​并发用户负载测试:Gryphon

Gryphon是由网易自主研发的能够模拟千万级别并发用户的一个软件&#xff0c;目的是能够用较少的资源来模拟出大量并发用户&#xff0c;并且能够更加真实地进行压力测试&#xff0c; 以解决网络消息推送服务方面的压力测试的问题和传统压力测试的问题。Gryphon分为两个程序&…

java 反射与泛型_Java基础系列 - 泛型和反射机制

package com.test5;import java.lang.reflect.Field;import java.lang.reflect.Method;/*** Java泛型和反射机制(泛型的好处 代码安全简单&#xff0c;自动装箱拆箱&#xff0c;提高代码的重用率)*/public class test5 {public static void main(String[] args) {Employer empl…

Linux环境下的Popush部署——张凯

完成情况&#xff1a; 已按照相关部署文档完成了所有任务&#xff0c;包括软件包的安装与配置&#xff0c;以及对各种开发语言的支持&#xff0c;以及gdb的调试功能的支持 遇到的主要问题&#xff1a; 由于从大二以来我基本上所有的开发工作都是在Linux下做的&#xff0c;因此对…

【c++】标准模板库STL入门简介与常见用法

一、STL简介 1、什么是STL STL&#xff08;Standard Template Library&#xff09;标准模板库&#xff0c;主要由容器、迭代器、算法、函数对象、内存分配器和适配器六大部分组成。STL已是标准C的一部分&#xff0c;使用STL开发系统可以提高开发效率。 2、容器&#xff08;Cont…

强连通分量(学习心得)

定义&#xff1a;有向图强连通分量&#xff1a;在有向图G中&#xff0c;如果两个顶点vi,vj间&#xff08;vi>vj&#xff09;有一条从vi到vj的有向路径&#xff0c;同时还有一条从vj到vi的有向路径&#xff0c;则称两个顶点强连通如果有向图G的每两个顶点都强连通&#xff0c…

java for的增强_Java基础之增强for循环

平时大家for循环应该用的不少&#xff0c;特别是增强for循环&#xff0c;简单快捷。但是在增强for中做删除操作&#xff0c;却会抛出java.util.ConcurrentModificationException&#xff0c;一起来看下。上面的代码&#xff0c;在for循环执行完if中的remove&#xff0c;遍历下一…

window.history 和 DWZ 框架

DWZ框架的ajax请求返回的一般都是一个HTML片段&#xff0c;整个页面是由一个个HTML片段组成的&#xff0c;可以由TAB切换其内容&#xff0c;但是只有一个body和HEAD&#xff0c;一般head 和 菜单栏是不会动的。 今天遇到一个问题&#xff0c;当一个点击进入一个tab页面时&#…

大道至简(第六章)读后感

大道至简&#xff08;第六章&#xff09;读后感 还是不乐意去读&#xff0c;但总算可以耐心的读下去了&#xff0c;这也许也算是读大道至简以来的收获之一吧。第六章的题目是从编程到工程&#xff0c;看到工程二字&#xff0c;让我不由想起了前几天和高中同学聊天。他报的燕大土…

遏止个人信息泄露亟待立法跟进

据报道&#xff0c;近日全国30个省份275位艾滋病感染者称接到了诈骗电话&#xff0c;艾滋病感染者的个人信息疑似被大面积泄露。无独有偶&#xff0c;近日票务网站大麦网因账号信息被窃取&#xff0c;间接导致全国多地用户受骗。目前至少有17名受害者&#xff0c;被骗至少54万元…

确认类是否可以在运行期使用

问题: 你正在使用最新版的 SDK 中的一些类,但是你不确定这些类是否能在你程序运行的设 备中可用,因为有可能你部署的目标设备要比最新版 SDK 早。 方案: 用NSClassFromString函数. 传入类的名称字符串符。若是返回值为空(nil),则表示这个类无法在这台设备上使用;反之,这个类则…

最新hosts,更新hosts,可用

点击这里&#xff0c;全选后复制&#xff0c;粘贴到C:\Windows\System32\drivers\etc的hosts里面&#xff0c;把原来的置换了转载于:https://www.cnblogs.com/zzw1994/p/4940924.html

酒店业解决方案

思科业务就绪酒店解决方案&#xff0c;为酒店的经营和管理提供一个高效率、高盈利、且可不断发展和改进的平台&#xff0c;帮您重建酒店竞争优势&#xff0c;为酒店带来意想不到的转变&#xff01; 思科酒店行业解决方案更加融合的思科网络在改善酒店的运营和员工生产率&#x…

配置SQL Server 2012 AlwaysOn ——step1 建立AD域及DNS配置

需要三台安装好windows server 2008 R2 sp1的虚拟机服务器SQLTESTDNS&#xff0c;SQLTESTMAIN,SQLTESTSUB&#xff0c;以SQLTESTMAIN为主数据库及群集服务器&#xff0c;SQLTESTDNS为DNS及域服务器 1.在SQLTESTDNS的服务器管理器内设置静态IP地址192.168.10.1,DNS为127.0.0.1&a…