`
dazuiba
  • 浏览: 131695 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

重新发明轮子,与" Rolling your own "---simongbrown

阅读更多
http://www.cccom/blog/2005/10/17/rolling_your_own.html
引用
In Is it really 2005?, Brian asks why people are still writing their own frameworks, specifically around data persistence and the J2EE web tier. Certainly, from my perspective, I'll always try to recommend that teams adopt an existing framework that is proven, well adopted and meets their needs. However, there are situations where rolling your own can make more sense.

While adopting best of breed frameworks in a greenfield project is very appealing, you do have to take into consideration the team characteristics, including their experience and project timescales. A couple of examples spring to mind, the first of which is Hibernate. While I think it's a great tool, the learning curve is steeper than many people imagine. Or perhaps that's just me. ;-) Anyway, I think Hibernate pays off in the long run, but you could argue that, for very simple applications, it's possible to code up a JDBC based DAO layer in no time at all.

The other example is webapp frameworks. This is going back a couple of years now, but when Struts was at its peak, there were definitely a few times that I recommended we build our own MVC framework. Here, I'm talking about a controller servlet and an action interface, based around the example code from chapter 12 in Professional Java Servlets. In justification of this decision, the simple nature of the web UI didn't require the complexity of Struts and the team was new to Java, J2EE, UML, RUP, etc. The last thing they needed was another tool to learn. We actually had to deliver something and reducing the complexity in the web tier provided time to concentrate on other things, such as sorting out our performance problems due to misunderstandings around how JTA transactions work with session and message-driven beans.

My point is this. Making the buy vs. build decision isn't as straightforward as it first seems. Most of the time, using a pre-built framework does make sense but there are times when it doesn't. Make your own judgement but be prepared to justify it.
分享到:
评论

相关推荐

    build-your-own-x-chinese:build-your-own-x-中文

    [TOC]build your own x 项目中文翻译为什么有这个项目?偶然发现一个很酷的项目:以前阅读过一本书,叫 buid your own angularjs,受益匪浅。对于那些喜欢研究轮子的,这个系列简直太棒!因为本人目前是一名前端,所以...

    build-my-own-x:再次发明轮子

    再次发明轮子 Java脚本 郎郎 语言特性 / 目的 对象 词法解析accessor-style字符串 功能 功能 大批 斑点集合 承诺 初步相关 React性 基于Proxy的响应式数据 / Reference 和的实现 数据结构与算法 数据结构 数据结构 ...

    Python-3.8.0&pip-8.0.2&setuptools-19.6合集.zip

    setuptools 19.6版本支持创建源分布和轮子(wheel)包,轮子是预编译的二进制包格式,可以显著提高Python包的安装速度。此外,这个版本还包含了对Python 3的兼容性增强,以及对元数据和依赖处理的优化,确保项目的...

    需几个轮子---教学设计.doc

    需几个轮子---教学设计.doc

    AmayaOS:Amaya操作系统-重新发明轮子-开源

    AmayaOS是类似于UNIX的操作系统,它是自由软件,并且尊重您的自由。 您可以在计算机上安装AmayaOS,而无需担心。 (这是100%免费的软件)。 AmayaOS项目于2014年启动,旨在创建一个适用于x86 PC的新操作系统。...

    GDAL-3.4.3-cp38-cp38-win-amd64.whl(GDAL轮子-免编译pip直接装,下载即用)

    GDAL-3.4.3-cp38-cp38-win_amd64.whl(GDAL轮子_免编译pip直接装,下载即用) 适用于windows系统 python3.8版本 下载解压后,cd到文件目录,执行命令pip install GDAL-3.4.3-cp38-cp38-win_amd64.whl即可, 安装成功...

    talib轮子-win64-py35-36-37.zip

    ** talib库与Python在Windows上的整合 ** `talib`,全称为Technical Analysis Library,是一个广泛应用于金融市场的技术分析库。它包含了多种经典的技术分析指标,如移动平均线(MA)、相对强弱指数(RSI)、布林带...

    重新发明轮子:这些是我遇到的一系列面试问题的集合,我被要求重新发明轮子

    在IT行业中,"重新发明轮子"通常是指在已有成熟解决方案的情况下,重新设计或实现一个功能,这在面试中常用来考察候选人的基础理解、问题解决能力以及编程思维。本篇将围绕Go语言,深入探讨可能出现在面试中的相关...

    ios-轮子动画效果.zip

    本示例中的"ios-轮子动画效果.zip"文件,显然提供了使用CAKeyFrameAnimation来创建一个轮子转动效果的实例。CAKeyFrameAnimation是Core Animation框架的一部分,它允许开发者创建复杂的、基于关键帧的动画,这些动画...

    2021年幼儿园大班科学教案--轮子变.doc

    轮子是人类文明史上一项伟大的发明,它在提高效率和改变人们生活方式方面扮演了极其重要的角色。教案的第二部分让孩子们直观地了解轮子的基本特性,包括它的形状、可以转动的特点,以及不同轮子在大小、材质、是否...

    Build Your Own Reptilian Robot

    《Build Your Own Reptilian Robot》这本书正是为那些对机器人制作感兴趣的朋友提供了一条入门路径。接下来,我们将深入探讨本书中的核心概念和技术要点。 #### 一、引言:构建生物启发式机器人 《Build Your Own ...

    python3.7轮子文件dlib-19.22.99-cp37-cp37-win-amd64.whl

    python模块:dlib 版本号:19.22.99 适用平台:windows x64 适用python版本:3.7系列 安装方式:pip install dlib-19.22.99-cp37-cp37-win_amd64.whl

    支持CUDA10的tensorflow-gpu轮子

    这个文件是一个tensorflow的GPU版本的轮子,通过这个轮子,你可以在最新的CUDA10和CUDNN10.0上使用GPU训练你的模型

    python3.8轮子文件dlib-19.22.99-cp38-cp38-win-amd64.whl

    python模块:dlib 版本号:19.22.99 适用平台:windows x64 适用python版本:3.8系列 安装方式:pip install dlib-19.22.99-cp38-cp38-win_amd64.whl

    thewheel-js:停止重新发明轮子。 它在这里 ;)

    【标题】"thewheel-js:停止重新发明轮子。 它在这里 ;)" 提供的信息表明,这是一个关于JavaScript的开源项目,旨在提供已有的、经过验证的解决方案,避免开发者重复编写常见问题的解决代码。 【描述】中的内容简单...

    python3.12轮子dlib-19.24.2-cp312-cp312-manylinux-2-17-x86-64.whl

    这个是linux版本dlib需要适配Python3.12版本,在ubuntu20.04测试通过,安装流程为sudo apt install libatlas-base-devpip install [whl路径]

    python3.9轮子文件dlib-19.22.99-cp39-cp39-win-amd64.whl

    python模块:dlib 版本号:19.22.99 适用平台:windows x64 适用python版本:3.9系列 安装方式:pip install dlib-19.22.99-cp39-cp39-win_amd64.whl

    python3.11 dlib轮子文件//dlib-19.24.1-cp311-cp311-win-amd64.whl

    Python是世界上最受欢迎的编程语言之一,特别是在数据科学、机器学习和人工智能领域。...使用Python 3.11的轮子文件安装dlib,可以确保与最新版本的Python兼容,并且在Windows平台上提供优化的性能。

    百度地图毕业设计源码-WheelPlan:重新发明轮子来训练我们的代码技能

    造轮子的目的,不是去重复的发明轮子,而是实际的去动手制作轮子。把一些公认的算法,优秀的思想,用自己的方式表达一下,锻炼一下,让知识成为自己思想的一部分。而不总是去google去百度,xxx好还是zzz好,而是能够...

    TA_Lib轮子无需编译-TA_Lib-0.4.17-cp35-cp35m-win_amd64.whl.zip

    TA_lib库(whl轮子),直接pip install安装即可,下载即用,非常方便,各个python版本对应的都有。 使用方法: 1、下载下来解压; 2、确保有python环境,命令行进入终端,cd到whl存放的目录,直接输入pip install TA...

Global site tag (gtag.js) - Google Analytics