`
dazuiba
  • 浏览: 130851 次
  • 性别: 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,受益匪浅。对于那些喜欢研究轮子的,这个系列简直太棒!因为本人目前是一名前端,所以...

    决不重新发明轮子.docx

    【决不重新发明轮子】这个概念源于创新策略中的一种智慧,即避免不必要的重复劳动,有效利用已有资源进行改进和优化。在IT行业中,这一理念尤为关键,因为技术更新迅速,不断有新的产品和服务出现,而大部分创新往往...

    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的新操作系统。...

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

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

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

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

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

    6. 轮子的历史演变:教学内容涵盖轮子的发展历程,从无轮时代到轮子的发明,孩子们通过观看动画理解人类智慧在技术进步中的作用。 7. 推理和联想能力培养:通过讨论没有轮子的世界会怎样,孩子们锻炼了他们的推理和...

    ios-轮子动画效果.zip

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

    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

    Build Your Own Reptilian Robot

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

    支持CUDA10的tensorflow-gpu轮子

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

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

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

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

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

    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路径]

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

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

    py-robo:死了的简单bot框架

    为什么要重新发明轮子 我喜欢Python,但是对Node.js(hubot),Ruby(Ruboty)并不擅长。 是可插入的,但对我来说太复杂了。 也是可插入的,但我不会写配置文件。 所以我重新发明了轮子。 建筑学 消息流。 +--...

    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

    python3.12轮子dlib-19.24.2-cp312-cp312-macosx-10-9-x86-64.whl

    适合系统:macOS x86_64系统文件格式:whl安装方式:pip install [whl路径]适配python版本:python3.12

Global site tag (gtag.js) - Google Analytics