问题标签 [modular-design]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 点击事件导致错误`TypeError: this.$varName.on is not a function` which is not a function
我有这个确切的代码:
在我的本地机器项目上运行此代码 - 我在控制台中收到此错误结果:
TypeError: this.$setScheduleBtn.on is not a function
无需切换。jQuery 被加载到标签中。html 代码位于脚本之前。jQuery JavaScript 库 v1.3.2
这是一个具有正确运行的确切代码的 JSfiddle: https ://jsfiddle.net/t6hprf4x/
可能是什么问题?
javascript - 模块化 JS:Onclick 复选框 => 启用单选按钮以获取更多选项 - 使用模块化 js 的正确方法是什么?
这是我当前的代码:https ://jsfiddle.net/7fL6ocs9/1/
我有 3 列单选按钮,只能通过单击它们上方的复选框来启用。
使用模块化 js 的正确方法是什么?
在我的“cacheDom”方法中分别选择每个复选框?这不是使它不那么模块化吗?
javascript - 模块化 JS:3 个部分(复选框和收音机)的全局功能&Sholud 我在我的代码中应用“渲染”?
这是我的网络应用程序上的一个部分,用户可以“订阅”在 3 个不同时间发送的报告:每周、每月、每季度。(可以从三个选项中选择一个)。
我在为这方面计划最佳解决方案而苦苦挣扎,同时也在为代码模式苦苦挣扎。
应该发生什么:
加载页面时,我必须传递一个 PHP var,它将设置用户报告的当前状态(
report
在我的代码 [{weekly},{Monthly},{Quarterly}] 的乞求中的变量)0,1,2, 3将指标。例如:如果用户在过去设置了他想要每月 6 个月的报告 - 他将看到选中的“每月”复选框 - 并且在单选按钮中选择了“6 个月”并且变量将设置为[0,2,0]
选择复选框时 - 启用 3 个(或一个)单选按钮进行选择。
取消选中复选框时 - 单选按钮被禁用并删除所有检查。
“保存计划”按钮将数据发送到 PHP。
我的问题是:
如何以模块化方式构建我的代码,防止意大利面条式代码?
解决问题 1 后 - 我应该应用“渲染”功能吗?(受此视频教程启发)
只是提一下:
这是一个 JSFIDDLE,我的代码更少意大利面。 - 包括当前正在工作的内容。
我正在练习模块化 JS 代码,因此我很乐意获得有关我的代码的一般提示(推荐的链接、视频和教程等)。
我正在使用 jQuery 1.3.2,它不包含当前库的所有功能。(像
parents
和on.('click', func..)
html:
JS:
请随时询问更多信息或任何可以帮助您帮助我的信息。
javascript - 如何保存字符串然后使用 is 作为变量名?
我正在尝试保存一个字符串变量,然后将此变量用作其他变量。
我在“名称”变量中保存了一个字符串,可以是“每周”、“每月”或“每季度”。
然后使用 is 作为“this.weekly”,但使用“name”引用。只是为了不通过每个案例的“swtich”。
这是我的代码:
尝试使用var name = 'this.+'newCheckbox.checked;
- 不起作用...
编辑:
这仍然导致错误:
c - 如何使用 C 的模块化方法将指针传递给每个功能
我将代码写到一个文件中,然后编译并运行,但我应该把它分成称为模块化代码的片段,你将每个函数放在单独的 .c 文件中,.h 表示包含和原型,但我很难是时候这样做了,因为我的 .h 文件中不应该有任何变量。我将如何在每个函数文件中正确传递我的指针
这是我的代码:
c++ - 什么是模块
我很难理解模块的概念。他们是翻译单位吗?它们像 .ccp 文件和 .h 文件吗?
在我的教科书中,它被描述为,“模块化设计由一组模块组成,这些模块分别开发和测试。模块化编程实现了模块化设计,并受到过程语言和面向对象语言的支持。C 编程语言通过由函数组成的库模块来支持模块化设计。 stdio 模块提供输入和输出支持,同时隐藏其实现细节;通常,scanf() 和 printf() 的实现以二进制形式随编译器一起提供。stdio.h 头文件提供了接口,这就是我们所需要的完成我们的源代码本章介绍如何使用 C++ 在面向对象语言中创建模块,如何分别编译每个模块的源代码以及如何将编译后的代码链接到单个可执行二进制文件中。本章以对模块进行单元测试的示例结束。
模块
设计良好的模块是一个高度内聚的单元,可以松散地耦合到其他模块。该模块解决了编程解决方案的一个方面,并尽可能多地隐藏细节。编译器将模块的源代码独立于其他模块的源代码翻译成它自己的二进制代码单元。”
c++ - 基类中的 C++ 数据块
我正在尝试编写一个模块化的音频处理应用程序。模块化意味着,嗯,我有“模块”(我称它们为节点),它有输入和输出(有几种不同的类型,它们是用颜色编码的,例如绿色表示音频输出,蓝色表示单个数字输出等)。我还尝试将 UI 和程序逻辑分开。
为了实现这个系统,我编写了从我的自定义“datablock”类派生的类,它们本质上只是不同的数据类型存储,所以我有一个“IntDataBlock”,我有一个“AudioDataBlock”等。所有这些类都有相同的变量(“数据”),但具有不同的数据类型。例如,一个 IntDataBlock 只有一个 int 类型“数据”,但一个 AudioDataBlock 有一个浮点列表作为“数据”。
此外,我还编写了一个“连接”类,它将一个节点的输出与另一个节点的输入连接起来。'connection' 将两个节点指针作为构造函数参数,因此它知道要连接哪些节点。现在您必须知道,每个节点都有“数据块”派生对象作为输入/输出值存储。
'connection' 具有将其附加到两个数据块(一个输出和一个输入)的功能,因此一旦节点 1 处理它的数据并具有输出数据,它就会更新它的输出数据块,然后 'connection' 类应该直接作为一个桥,将数据从节点 1 的输出传输到节点 2 的输入。但是我有一个问题:由于我不能将数据块的“数据”变量放在父类“数据类”中(因为每个派生类都为不同类型的“数据”),我不能写:
...因为“数据”不在父类“数据块”中,所以从技术上讲,并非每个“数据块”实际上都必须有一个变量“数据”。
你知道如何解决这个问题吗?如果有人知道实现这种连接的更好方法,我也将不胜感激,向我展示这一点。谢谢!
c++ - 在 C++ 模块化编程中,如何组装 .cpp 和 .h 文件?
我目前正在为学校开展一个大型项目,该项目分为 6 个里程碑。在第一个里程碑中,我获得了要添加到我的文件中的代码,但我不知道如何对它们进行分类。在模块化编程中分发代码的一般约定是什么?
这是我得到的:
里程碑 1:日期类
要启动此项目,请从课程存储库中克隆/下载里程碑 1,并对 Date 类的缺失部分进行编码。
Date 类封装了一个可由 an 读取std::istream
并可由 an 打印的日期,std::ostream
使用以下格式进行读取和写入:YYYY/MM/DD,其中 YYYY 表示年份的四位数值,MM 表示两位月份的数字值,DD 是指月份中日期的两位数。
Date
使用以下规范完成类的实现:
预定义常量:
预先定义被认为可以接受的年份限制:
const int min_year = 2000
const int max_year = 2030
私人会员:
数据:
年份 – min_year 和 max_year 之间的四位整数
一年中的月份——介于 1 和 12 之间的值(包括 1 到 12)
月份中的某一天 - 介于 1 和月份中的天数之间的值(请参阅
mday(int,int)
成员函数如下所述)——请注意,闰年二月有 29 天。
用于比较存储在当前对象中的日期与存储在另一个 Date 对象中的日期的比较器值。您的构造函数设置此值,您的公共操作员使用它来比较两个日期。(如果日期一的值大于日期二的值,则日期一比日期二更近;即日期一在日期二之后)。
客户端可以参考的错误状态,以确定对象是否包含有效日期,如果不是,则日期的哪一部分出错。可能的错误状态是在 Date 类标头中定义为宏的整数值:
NO_ERROR 0
-- 无错误 - 日期有效
CIN_FAILED 1
-- istream 信息输入失败
YEAR_ERROR 2
-- 年份值无效
MON_ERROR 3
-- 月份值无效
DAY_ERROR 4
-- 日值无效
成员函数:
int mdays(int month, int year) const;
(这个查询已经实现并提供)。此查询返回 中的天month
数year
。
void errCode(int errorCode);
此函数将错误状态变量设置为上面列出的值之一。
公众成员:
构造函数:
无参数(默认)构造函数:将对象初始化为安全的空状态并将错误状态设置为NO_ERROR
. 使用 0000/00/00 作为安全空状态的日期,并将比较器值设置为 0。
三参数构造函数:在其参数中接受年、月和日的整数值。此构造函数检查每个数字是否在范围内,按年、月和日的顺序排列。如果任何数字不在范围内,此函数将错误状态设置为适当的错误代码并停止进一步验证。
(使用 mday(int,int) 成员函数获取接收年份的接收月份中的天数。月份值可以介于 1 和 12 之间)。如果接收到的所有数据都有效,则此构造函数将接收到的值存储在当前对象中,计算比较器值,并将错误状态设置为 NO_ERROR。如果接收到的任何数据无效,则此构造函数将对象初始化为安全的空状态,将比较器值设置为 0,并将错误状态设置为 NO_ERROR。
使用以下公式设置有效日期的比较器值:= 年 * 372 + 月 * 13 + 日
运营商
bool operator==(const Date& rhs) const;
bool operator!=(const Date& rhs) const;
bool operator<(const Date& rhs) const;
bool operator>(const Date& rhs) const;
bool operator<=(const Date& rhs) const;
bool operator>=(const Date& rhs) const;
如果两个对象不为空,则这些比较运算符返回将当前对象作为左侧操作数与另一个 Date 对象作为右侧操作数进行比较的结果。如果其中一个或两个为空,则这些运算符返回 false。
例如,如果存储在当前对象中的日期早于存储在 rhs 中的日期,则 operator< 返回 true;否则,此运算符返回 false。
查询和修饰符
int errCode() const;
此查询将错误状态作为错误代码值返回。
bool bad() const;
如果错误状态不是 NO_ERROR,则此查询返回 true。
std::istream& read(std::istream& istr);
此函数以以下格式从控制台读取日期:YYYY?MM?DD(例如 2016/03/24 或 2016-03-24)。该功能不提示用户。如果 istr 在任何时候失败,此函数将错误状态设置为 CIN_FAILED 并且不清除 istr。如果 istr 失败,对 istr.fail() 的调用返回 true。如果您的 read() 函数成功读取数字,则无论此输入过程的结果如何,此函数都会返回对 std::istream 对象的引用。
std::ostream& write(std::ostream& ostr) const;
此查询以下列格式将日期写入 std::ostream 对象:YYYY/MM/DD,然后返回对 std::ostream 对象的引用。辅助函数:operator<< 此运算符与 std::ostream 对象一起使用以将日期打印到控制台。运算符>> 此运算符与 std::istream 对象一起从控制台读取日期。在这些运算符中使用 read 和 write 成员函数;不要为这些运算符重载使用朋友。在头文件中包含这两个运算符的原型。将它们的原型放在类定义之后。
java - 如何开发 OSGi 软件并部署在不同的实现中?
我开始使用 OSGi 框架开发模块化应用程序。我首先担心的是我是否可以在源代码中使用 felix 依赖项进行开发,然后在 Concierge 中运行我的代码。
我在网上找了 Concierge 的例子,但是没有一个很好的例子教程,至少我没有找到好的东西,如果你知道的话,请告诉我。
所以,我的问题很简单,我是否可以使用规范进行开发并在平台(Concierge、Felix 等)方面到处运行。
提前感谢您对它的支持,
问候,
-杆
java - 具有共享模块的 Maven 多 Web 应用程序
我有多模块网络应用程序:
我想创建一个只包含计划任务的新项目,但这取决于上面的模块(web 模块除外)。
我在同一个父项目中创建了一个新的 web 模块,编译 maven 很好,它生成了两个 war 文件build success
......在 eclipse 中一切都很好,我可以看到我所有的dependencies
. 但是,当我在 tomcat 上部署战争时,我ClassNotFoundException
从common module
两个战争模块和 eclipse 中的“”中得到了同样的例外。
我希望你明白我想做什么