问题标签 [code-reuse]

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.

0 投票
4 回答
1563 浏览

design-patterns - ColdFusion 对 ASP.NET 的母版页有答案吗?

我正在开发一个用 ColdFusion 编码的网站。我有一个 CSS/HTML 模板,我想将其应用于每个页面的内容,而无需复制任何不必要的代码。我被 ASP.NET 的母版页宠坏了,这将是我实现该站点的首选方式。不幸的是,我无法使用该选项。该站点必须在 Coldfusion MX 7 上运行。此外,领导该项目的开发人员不喜欢 Fusebox,因此该选项已失效。

每个页面的主导航、图形页眉和页脚都相同。标题标签、元标签和二级导航可能会因页面而异。除此之外,只有页面的“主要内容区域”会有所不同。

给定这些参数,我如何对站点进行编码以获得最大的可维护性?

0 投票
4 回答
255 浏览

asp.net - 在这种情况下哪种重用方法更好 - ascx 或其他

我有一个 ASP.NET 应用程序,可以显示不同类型学生的成绩。一些学生有自定进度的课程,不包括迟到的处罚和测验,而另一些学生有标准的课堂课程。

因此,在显示学生的成绩时,我会确定该学生属于哪个类别,然后适当地呈现成绩。

现在我使用条件语句来执行此操作,但我考虑将每个案例制作成一个 ascx 文件(即一个带有用于自定进度的 gridView 的 ascx,一个带有用于教室的 gridView 的 ascx,每个案例都在我的数据中调用数据填充方法访问类)。

我可能需要在应用程序的其他地方重新使用此功能,以在不同页面上显示成绩,因此某种自定义控件似乎是必要的。

这种方法可行吗?

0 投票
4 回答
273 浏览

code-reuse - 具有通用代码的多个应用程序——如何解决这个问题?

我的公司有两三个使用大量通用代码的 Web 应用程序——自定义 MVC 框架、实用程序类、JavaScript 库等等。

我们不希望在每个应用程序中复制所有这些代码,因为我们最终会使用几个略有不同的版本。但是我们不希望应用程序需要此代码的完全相同的副本,因为我们不希望对一个应用程序的更新可能会破坏另一个应用程序。

有没有人有任何关于处理这个问题的提示?我认为我不是在寻找技术答案——更多的是一种通用方法。

我们可以将代码制作成库,并允许应用程序保留在旧版本的库中,直到它们准备好升级。或者我们可以把它做成多个库,这样我们就不必一次升级所有东西。但是管理库版本之间的相互依赖会变得困难吗?

0 投票
2 回答
1194 浏览

vbscript - 保持 VBScript 井井有条

我维护了大量用于在我的网络上执行各种启动脚本的 vbscripts,并且我几乎在所有这些脚本中都使用了一些函数。

没有复制和粘贴,有人对我如何创建可重用的 vbscript 代码库有建议吗?我不反对使用代码生成器来这样做,只要它不比复制和粘贴更令人头疼。但任何建议将不胜感激。

谢谢

0 投票
3 回答
179 浏览

asp.net - 创建大量 .aspx 页面以将数据添加到各种表中。有没有更好的办法?

我正在一个 CRUD 网站上工作,其中有很多非常相似的表格来添加新数据。换句话说:

AddMovie.aspx、AddGame.aspx、AddBeer.aspx、AddAdd.aspx

我一直在想,“我自己,拥有一个单独的 Add.aspx 而不是重写这么多类似的页面真是太好了 -加上所有那些 OOP 书呆子会认为我很酷,因为我正在重复使用而不是复制/粘贴!

因此,假设我走在正确的轨道上,如果我要使用单个 Add.aspx 页面,我如何表示每个对象的所有字段集?我想过一堆可以隐藏/显示的面板或 div,但不确定我是否真的喜欢那个解决方案。有没有更好的方法,或者我应该放弃并返回多个错误的“添加对象.aspx”页面?

此外,这是一个普通的 ol' (3.5) Web 表单应用程序。遗憾的是,这没有 ASP.NET MVC 的优点。似乎应该有这样一个微不足道的解决方案,而我只是想多了,但我想不出一个,所以我求助于 Stack Overflow。:)

0 投票
3 回答
739 浏览

apache-flex - Flex:在不复制+粘贴的情况下为多个项目重用类?

好的,我有一些我已经制作或在网上找到的类,我计划在多个项目中使用,我宁愿将这些类存储在一个中心位置,而不是将它们复制+粘贴到每个项目中。

我的 Flex 项目在路径 Flex/WorkSpaces/<workSpaceName> 中有自己的工作区

如果我想在 Flex 目录中放置另一个文件夹并将包设置为 com.mydomain.whatever

我需要制作什么文件夹结构,以及如何使我的项目可以访问代码?

谢谢!

0 投票
5 回答
2724 浏览

c# - 如何在 C# 中实现类之间的共享行为(当然没有多重继承)

更新:几乎这里的每个人都告诉我,我只需要重新开始我如何设计我的课程(顺便感谢你们的出色回答!)。得到提示后,我开始广泛阅读策略模式。我想创建从一个或多个抽象基类继承的行为类(或策略类)。然后,候选类将具有带有不同抽象基类/类的属性作为Type行为或策略。也许是这样的:

有什么意见或建议吗?


原始问题:

我正在努力学习并更加精通设计模式和原则。我目前正在为一些让我难过的课程进行设计。这是代码的非常精简的版本:

InternalEntryLevelCandidate 类主要是一个EntryLevelCandidate,但需要共享InternalCandidate 的一些实现。我说实现是因为我不希望实现不同或重复,否则我会使用通用合同的接口并在每个类中都有具体的实现。InternalCandidate 属性和行为的一些实现需要通用或共享。我已经阅读了 C++ 和 Ruby mixins,这似乎与我想做的类似。我还阅读了这篇有趣的博客文章,其中讨论了一种行为类型的想法,其中一个类能够继承多个行为,同时仍然保持单一的“是”关系:http://www.deftflux.net/blog/post/A-good-design-for-multiple-implementation-inheritance.aspx。这似乎传达了我想要的东西。谁能给我一些指导,告诉我如何使用良好的设计实践来实现这一目标?

0 投票
2 回答
96 浏览

sql - 有没有一种方法可以让 CASE WHEN 测试其中一个结果而不是运行两次?

有没有办法使用 CASE WHEN 测试中的值作为其结果之一,而无需两次写出 select 语句(因为它可能又长又乱)?例如:

有没有办法可以将 SELECT 语句(用于测试)的第一次运行的结果也用作 THEN 值?我尝试在第一次 SELECT 之后使用“AS max_value”,但它给了我一个 SQL 错误。

更新:哎呀,正如 Tom H. 指出的那样,我在原来的问题中忘记了“IS NOT NULL”。

0 投票
1 回答
1659 浏览

xml - 在 Actionscript 2 中递归解析 XML

我正在寻找一种有效且可重用的方法来将 xml 解析为 actionscript2 中的对象。xml 结构本身可能会发生变化,因此重要的是我能够在没有“硬编码”特定节点等的情况下解析 xml。

我通常使用 As3 并且不需要这样的东西,因为 XML 类很容易深入研究。下面是我想要完成的 AS3 伪代码。

提前感谢您对此的任何帮助!

0 投票
4 回答
1723 浏览

php - 如何正确工作_around_ Javascript持久性?

Javascript vars / etc具有基本的持久性。您调用一个函数/方法,下次调用相同的函数/方法时,它会保存上次的数据。

您可以在使用完这些变量后删除它们,但这消除了对该实例再次使用代码的优势。

那么在同一页面内的不同元素上编写可重用的代码的正确方法是什么。

因此,我需要编写代码的能力,以便我可以将它指向几个不同的元素,然后与为每个元素隔离的代码进行交互。

所以在 PHP 中(例如)我会这样做:

在这种情况下,它是在三个隔离范围内运行的相同代码。我怎样才能用 JS 正确地做到这一点。即使使用 jQuery 的 extend() 也会给我带来问题。

谢谢。