将模块模式用于大型项目

2024-01-08

我有兴趣使用模块模式来更好地组织我未来的项目。不幸的是,只有一些模块模式的简短教程和概念验证示例。

使用模块模式,我想将项目组织成这种结构:

project.arm.object.method();

其中“project”是我的全局项目名称,“arm”是项目的子部分或分支,“object”是单个对象,等等到方法和属性。

但是,我不确定应该如何在“项目”下声明和组织多个“手臂”和“对象”。

var project = window.project || {};
project.arm = project.arm || {};

project.arm.object = (function() {

    var privateVar = "Private contents.";

    function privateMethod() {
        alert(privateVar);
    }

    return {
        method: privateMethod
    };

}());

定义复杂的模块结构时是否有任何最佳实践或约定?我应该在最后一个手臂/物体下面声明一个新的手臂/物体吗?


这是一篇关于您所追求的内容的好文章;http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将模块模式用于大型项目 的相关文章

随机推荐

  • Ruby 中的 Monad 等价物

    Ruby 中 monad 的等效构造是什么 精确的技术定义 在 Ruby 中 一个 monad 可以是任何带有以下内容的类 bind and self unit定义的方法使得对于所有实例 m m class unit a bind f f
  • 定制锂路由场景

    我的任务是用大量预先存在的链接目录重写现有网站 为了便于论证 我们假设我们无法执行任何会更改链接目录的操作 以下是我们正在使用的链接结构的一些示例 项目页面将是 www domain com widgets some totally awe
  • 为什么java语句评估会发生这样的情况?

    int z 1 System out println z z System out println z z 输出将是 false true 我不明白为什么 请向我解释一下 的操作数 从左到右评估 http docs oracle com j
  • 下拉列表依赖于另一个下拉列表 tkinter

    我有一个包含汽车品牌的列表 还有第二个包含这些品牌的型号名称的列表 我想要两个下拉列表 首先 您选择品牌 然后在第二个下拉列表中选择型号 但仅限于所选品牌的型号 我得到以下代码 import tkinter as tk brands Bug
  • 具有类实例集合的 For-each 循环,多次处置警告

    这段代码 Private Sub assignButtons ByVal Buttons As Collection ByVal ToolButton As String ByVal nToolButtons As Integer For
  • 将我的付费应用的所有用户迁移到应用内购买

    实际上 我有 2 个应用程序 免费和付费 专业版 我想将我的 2 个应用程序迁移到具有应用程序内购买功能的免费应用程序 我可以保存所有在我的应用内购买中支付专业版费用的人吗 最好的方法是什么 这必须逻辑地处理 1 只需为所有人 推出App的
  • Firefox 5、6、7 和 XULRunner:分别是哪个版本?

    现在测试版已经发布 我正在尝试重新编译一个 Firefox 扩展 该扩展具有可与 Firefox 5 一起使用的二进制组件 根据this https developer mozilla org en Firefox 5 for develo
  • 如何检查十六进制颜色是否“太黑”?

    我正在尝试评估颜色选择器选择的颜色的暗度 看看它是否 太黑 如果是 则将其设置为白色 我想我可以使用十六进制值的第一个字符来实现这一点 它正在工作 但它也在切换一些合法的 浅 颜色 我有以下代码 if lightcolor substrin
  • JavaScript 中可以尝试 {} 而不使用 catch {} 吗?

    我有许多函数 它们要么返回某些内容 要么抛出错误 在主函数中 我调用其中的每一个函数 并希望返回每个函数返回的值 或者如果第一个函数抛出错误 则继续执行第二个函数 所以基本上我目前拥有的是 function testAll try retu
  • AWS Lightsail 上未提供静态文件

    经过 2 天的尝试多个教程并阅读 StackOverflow 后 我正在寻求帮助 那个设定 开发版本在AWS Lightsail服务器上顺利运行 在生产部署期间 我不断遇到静态文件问题 该应用程序在指定的子域上运行 但缺少所有 JS CSS
  • 使用 ReactJS 自动建议输入特定字符

    因此 当使用 Facebook 时 如果您输入 符号 它就会知道您想要链接到朋友 页面 我正在构建一个用户界面 允许用户标记古代文档中的文本 我想做的是 如果用户突出显示一个单词或在单词之前放置 符号 则会弹出自动建议或选项下拉列表 因此
  • 从使用 msvcr90 到 msvcr80,PATH 环境如何影响我正在运行的可执行文件?

    include
  • 在 C++14 中使用自动返回“类型”进行显式模板专业化是否有效?

    上一个问题 https stackoverflow com questions 27629039 c explicit return type template specialisation 我重复上一个问题中的代码以使这个问题独立 如果使
  • 在导航抽屉中添加页脚布局

    注销布局与 5 5 英寸屏幕设备下方导航抽屉中的菜单项重叠 这在 5 5 英寸屏幕设备中看起来很完美
  • 在 Java 中自定义区域设置

    在Java中Locale定义与人们希望如何看待事物相关的事物 例如货币格式 月份名称以及一周的开始时间 解析月份名称时 带有DateTimeFormatter 它开始变得棘手 如果你使用Locale US or Locale ENGLISH
  • 如何让 awk 打印时没有空格?

    当我运行以下命令时 awk F print 2 1 它打印 First Second 我怎样才能得到 First Second 省略 s awk F print 2 1
  • 将对象集合绑定到 ListBox

    我有班级人 public class Person INotifyPropertyChanged private String name public event PropertyChangedEventHandler PropertyCh
  • 对 Power BI 中第一次出现的不同值求和

    在 Power BI 中 我的数据中有一些重复的条目 其中只有 1 列不同 这是 详细信息 列 Name Value Details Item 1 10 Feature 1 Item 1 10 Feature 2 Item 2 15 Fea
  • 在静态方法中传递 BuildContext 是否会导致 Flutter 中的内存泄漏?

    我正在尝试显示一个对话框 该对话框可以在我的应用程序中的任何地方重复使用 该对话框需要BuildContext所以我创建了一个类并添加了一个静态方法来显示对话框并传递了一个BuildContext在静态方法中作为参数 这会导致内存泄漏吗 就
  • 将模块模式用于大型项目

    我有兴趣使用模块模式来更好地组织我未来的项目 不幸的是 只有一些模块模式的简短教程和概念验证示例 使用模块模式 我想将项目组织成这种结构 project arm object method 其中 project 是我的全局项目名称 arm