`
923080512
  • 浏览: 191439 次
  • 性别: Icon_minigender_1
  • 来自: 商丘
社区版块
存档分类
最新评论

coc

阅读更多

 

约定优于配置(CONVENTION OVER CONFIGURATION)

约定优于配置(coc)是一个简单的概念。 系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置。 流行的框架如 Ruby on Rails 和 EJB3 已经开始坚持这些原则,以对像原始的 EJB 2.1 规范那样的框架的配置复杂度做出反应。 一个约定优于配置的例子就像 EJB3 持久化,将一个 特殊的Bean持久化,你所需要做的只是将这个类标注为 @Entity 。 框架将会假定表名和列名是基于类名和属性名。 系统也提供了一些钩子,当有需要的时候你可以重写这些名字,但是,在大部分情况下,你会发现使用框架提供的默认值会让你的项目运行的更快。

Maven通过给项目提供明智的默认行为来融合这个概念。 在没有自定义的情况下,源代码假定是在 /data/hudson-temporal-data/hudson-orchestrator-home/workspace/Book-To-Production/content-zh/src/main/java,资源文件假定是在 /data/hudson-temporal-data/hudson-orchestrator-home/workspace/Book-To-Production/content-zh/src/main/resources。测试代码假定是在 /data/hudson-temporal-data/hudson-orchestrator-home/workspace/Book-To-Production/content-zh/src/test。项目假定会产生一个 JAR 文件。Maven 假定你想要把编译好的字节码放到 /data/hudson-temporal-data/hudson-orchestrator-home/workspace/Book-To-Production/content-zh/target/classes 并且在/data/hudson-temporal-data/hudson-orchestrator-home/workspace/Book-To-Production/content-zh/target 创建一个可分发的 JAR 文件。

虽然这看起来无关紧要,但是想想大部分基于 Ant 的构建必须为每个子项目定义这些目录。 Maven 对约定优于配置的应用不仅仅是简单的目录位置,Maven 的核心插件使用了一组通用的约定,以用来编译源代码,打包可分发的构件,生成 web 站点,还有许多其他的过程。 Maven 的力量来自它的"武断",它有一个定义好的生命周期和一组知道如何构建和装配软件的通用插件。如果你遵循这些约定,Maven 只需要几乎为零的工作——仅仅是将你的源代码放到正确的目录,Maven 将会帮你处理剩下的事情。

使用“遵循约定优于配置”系统的一个副作用是用户可能会觉得他们被强迫使用一种特殊的方法。 当然 Maven 有一些核心观点不应该被怀疑,但是其实很多默认行为还是可配置的。 例如项目源码的资源文件的位置可以被自定义,JAR 文件的名字可以被自定义,在开发自定义插件的时候,几乎任何行为可以被裁剪以满足你特定的环境需求。 如果你不想遵循约定,Maven 也会允许你自定义默认值来适应你的需求。

分享到:
评论

相关推荐

    .vim配置文件-coc

    Coc,全称为“CoC.nvim”,是 Vim 的一个插件,它提供了丰富的代码补全、诊断、格式化等功能,增强了 Vim 的功能,使其更接近现代 IDE 的体验。在 `.vim` 文件夹中,通常包含的是 Coc 插件的配置和相关设置。 Coc ...

    COC6th玩家整合手册v1.7+Super+Extra+II.chm

    COC手册

    COC阵型复制工具.apk

    COC阵型复制工具.apk

    前端开源库-webpack-coc

    **Webpack CoC:前端配置的约定与最佳实践** 在前端开发中,Webpack 是一个至关重要的模块打包工具,它能够将各种资源(JavaScript、CSS、图片等)打包成优化过的静态资源,以适应现代Web应用程序的需求。`webpack-...

    vim配置相关 .vimrc coc-settings 及相关插件

    本文将深入探讨 Vim 的配置相关知识,包括 `.vimrc` 文件、`coc-settings.json`、`coc.nvim` 插件以及相关插件管理。 首先,`.vimrc` 是 Vim 的配置文件,它存储了用户自定义的快捷键、设置和行为。通过编辑 `....

    COC阵型复制工具-1.1.apk

    COC阵型复制工具-1.1.apk

    CoC下载网址.txt

    根据提供的文件信息,我们可以了解到这份文档主要提供了CoC(推测为GoC)编译器的下载地址,并且已经经过验证,确认下载过程中没有病毒风险。接下来,我们将对这份文档涉及的关键知识点进行详细的解读与扩展。 ### ...

    Coc__delphi.与汇编入门

    《Coc__delphi.与汇编入门》是一本针对初学者的教程,旨在帮助新手了解并掌握Delphi编程语言以及汇编语言的基础知识。在IT领域,掌握这两种语言能够提升程序员对计算机底层机制的理解,从而更好地进行系统级编程和...

    King Of Clash clans Royale 部落之王Unity类似部落冲突COC策列游戏项目源码C#

    King Of Clash clans Royale 部落之王Unity类似部落冲突COC策列游戏项目源码C# 支持Unity版本5.3.5f1及以上 与来自世界各地的数千名玩家一起踏上这场伟大的冒险。建立你的村庄,训练史诗和传奇战士,入侵在线村庄和...

    CoC 能耗标准 V5 201312

    CoC能耗标准V5 201312是关于宽带设备能耗行为准则的第五个版本,由欧洲委员会联合研究中心能源和运输研究所发布,于2013年12月20日制定。该标准主要规定了宽带设备在不同操作状态下能耗的标准,以及如何监测、报告...

    COC七版规则空白卡CY20.02.1.xlsx

    COC七版规则空白卡CY20.02.1.xlsx

    COC七版半自动人物卡v1.9.5(PC端)(1).xlsm

    COC七版半自动人物卡v1.9.5(PC端)(1).xlsm

    cocos2dx开发的coc

    "cocos2dx开发的coc"可能指的是一个使用Cocos2d-x框架开发的游戏项目或者工具,而"Cocos_Ring"可能是这个游戏项目中的一个关键模块或者是资源包。 在Cocos2d-x的开发中,C++是核心编程语言,它提供了丰富的API和...

    coc.zip_COC_coc coc_zip

    标题"coc.zip_COC_coc coc_zip"可能是指一个包含与"coc"相关的MATLAB代码或项目文件的压缩包,其中"COC"可能是"Channel Orthogonal Coding"的缩写,暗示了这个项目可能涉及到了正交编码,这在OFDM系统中用于提高抗...

    CSA资料-欧洲通用数据保护规范(GDPR)合规行为准则(COC)-完整中文电子版(75页).zip

    GDPR的合规行为准则(Compliance Obligations and Commitments,COC)则是对企业如何遵循这些规定的一份详细指导。 这份名为“CSA资料-欧洲通用数据保护规范(GDPR)合规行为准则(COC)-完整中文电子版(75页)....

    化工化学橡胶塑料行业COC领域分析报告(研究报告).pdf

    根据提供的文件内容,该分析报告主要针对化工化学橡胶塑料行业的COC(合同审查和合规管理)领域,报告内容涵盖市场规模、公司分布、市场前景、人力成本等多个方面的详细分析。以下是根据文件内容提取的知识点: 1. ...

    基于灰色关联分析法的COC芯片翘曲变形注塑工艺优化.pdf

    COC芯片在注塑工艺中的翘曲变形问题,一直以来是微流控芯片制造业面临的关键挑战之一。翘曲变形不仅会影响芯片的尺寸精度和功能实现,还会降低产品质量和良品率。为了解决这一问题,本文采用了一种基于灰色关联分析...

    unity仿COC部落冲突游戏项目完整源码.rar

    unity仿COC部落冲突游戏项目完整源码.rar

    安卓模拟器 挂coc专用

    安卓模拟器 挂coc专用 ios版转到电脑上最好用的版本,没有之一!

    COC芯片电泳-激光诱导荧光检测灵敏分析鱼肉中的生物胺

    本文介绍了一种基于环烯烃共聚物(COC)芯片电泳-激光诱导荧光检测技术的新方法,专门用于分析鱼肉中的生物胺。COC芯片电泳结合了微流控技术和光学检测手段,显著提高了分析的速度和效率。文章中,研究人员不仅构建...

Global site tag (gtag.js) - Google Analytics