问题标签 [framework-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.
.net - 为什么 Array.Sort() 和 Array.IndexOf() 方法是静态的?
总是很感兴趣,为什么Array.Sort()和Array.IndexOf()方法是静态的,类似的ArrayList.Sort()和ArrayList.IndexOf()被设计为成员方法。谢谢你的任何想法。
php - 如何开源并获得社区支持
我开发了一个 PHP 框架(当然是 MVC)并命名为 EZPHP,它几乎完成了,很快就会公开。
我的问题是,我如何使它成为开源项目,或者如何使它成为开源项目以及在哪里提交?
如何让来自世界各地的其他开发人员参与或扩展这个项目,就像来自世界各地的许多开发人员致力于 php 并使其成为一种极好的脚本语言一样。
简单来说,我想在全球其他优秀开发人员的支持下开源。
提前致谢 :)
session - 我应该如何在 node.js 上实现会话存储
我正在创建josi,一个 node.js 的 Web 框架。我想添加会话存储。实现这一点的最佳方法是什么?我假设它可能必须基于 cookie,但我很想知道是否有任何其他框架有不同的方法。
c# - ReSharper 抱怨成员“EntityID”中的大写“ID”
我在一个类中有一个属性“EntityID”。Resharper (5.1) 说
名称“EntityID”与规则“方法、属性和事件”不匹配。建议的名称是“EntityId”。
但恕我直言,根据类库开发人员设计指南中的命名约定。'EntityID' 应该没问题:
- 不要使用计算领域不普遍接受的首字母缩略词。
- 在适当的情况下,使用众所周知的首字母缩略词来代替冗长的短语名称。例如,将 UI 用于用户界面,将 OLAP 用于在线分析处理。
- 使用首字母缩略词时,对于长度超过两个字符的首字母缩略词,请使用 Pascal 大小写或驼峰大小写。例如,使用 HtmlButton 或 htmlButton。但是,您应该将仅包含两个字符的首字母缩略词大写,例如 System.IO 而不是 System.Io。
- 不要在标识符或参数名称中使用缩写。如果您必须使用缩写,对包含两个以上字符的缩写使用驼峰式大小写,即使这与单词的标准缩写相矛盾
*更新:*最新版本的指南还说:
务必将双字符首字母缩写词的两个字符大写,但驼峰式标识符的第一个单词除外。 名为 DBRate 的属性是用作 Pascal 大小写标识符的第一个单词的短首字母缩写词 (DB) 的一个示例。名为 ioChannel 的参数是一个短首字母缩写词 (IO) 的示例,用作驼峰式标识符的第一个单词。
我是否正确理解指南?如果是这样,我怎样才能让 ReSharper 接受“EntityID”(众所周知的两个字母缩写)但拒绝“HTMLReader”(应该是 HtmlReader)。
c# - 好的班级名称的想法
您将如何使用以下公共接口命名一个类:
asp.net - 使用模块化设计组织良好的 ASP.NET 应用程序的最佳方法
我正在尝试为我们的产品开发考虑一个 Web 应用程序开发框架。我想构建一个包含许多子模块的 ASP.NET 应用程序。我的要求是这样的:
该应用程序将是一套不同的模块,如 CRM、Bugtracker、库存管理、财务管理等。
每个模块都应该有自己的 DLL。
一个项目应该用于应用程序的外部容器(如框架),并且该项目应该将解决方案中的所有其他模块(Web 应用程序类型)带到外部容器。(比如我们在 HTML 中有框架)。因此,我们将仅在一天结束时发布外部容器 Web 应用程序,所有其他 Web 应用程序项目都将通过它访问。
我希望每个模块都有单独的 DLL,因此当我部署控制整个套件的单个 DLL 时,我不必担心应用程序会中断。
我不确定我的想法是否朝着正确的方向发展。我正在寻找的最终结果是一个维护良好、组织有序且模块化的 Web 应用程序套件。
它是 ASP.NET Web 表单,而不是 MVC。我将使用 VS2010 进行开发。
执行此操作的最佳方法是什么?
编辑:
术语外部容器意味着它就像一个母版页,具有指向各种模块的链接,并且各种模块并不总是在同一个项目中。它们可以是同一解决方案下的单独项目。而且我的印象是,到一天结束时,我将只发布该项目,它将为它带来各种模块。
php - 让所有方法在 PHP 中返回一个 MyResult 对象是好的/常识编程实践吗?
通过 MVC 架构设计程序的多层工作,我发现我希望获得有关更深层次的方法返回结果的更多信息,而且我并不总是可以预期何时需要这些信息。并且 - 为了抽象起见 - 我可能不希望该方法将内容输出到特定于应用程序的日志(该方法可以在不同的程序中使用),或者像上面的其他层一样具有特定的应用程序相关行为。
例如,在给定的实用程序函数中,我可能在执行某个操作之前进行了几次先决条件检查,但都失败了。如果我对其中任何一个返回 false,则调用者不知道发生了什么。如果我返回 false 并将发生的事情记录到应用程序日志中,则我将该函数绑定到应用程序特定的行为。
问题是:实现一个名为 MyResult 的小类并让它返回响应状态(ok/false)、一条消息、一个最终的整数代码和一个对象占位符(数组或对象),调用者可以访问返回的对象?这个 MyResult 类将在整个系统中使用,并且是所有方法及其调用者之间的通用“方言”。然后,所有方法都将始终返回 MyResult 的一个实例。
language-agnostic - 如何在 UI 框架中传播鼠标和键盘事件?
我已经完成了控制台用户界面框架的渲染缓冲区和基本消息泵的工作,但现在我必须将事件传播到屏幕上的所有小部件(控件)。
显然我有两个选择:
- 使用消息泵集中注册所有控件(我认为这不太好)
或者
- 通过“视觉树”进行分层传播
你会怎么做?
c# - ToString 是否应该用于关键信息?
我刚刚遇到了一些覆盖ToString()
并返回一些关键信息(不仅仅是调试信息)的代码。这种类型的用户调用ToString()
并解析关键数据。
从多年来阅读的各种点点滴滴来看,我的观点是,它ToString()
有一个相当弱的contract
,即覆盖它(如果你愿意的话)以显示一些有意义的东西。
看到我说在那里展示了吗?我遇到的代码依赖于这种类型的实例的文本表示非常具体。添加任何超出预期的内容会导致各种问题。
所以,我的问题是,如果对象的文本表示很关键,应该ToString()
使用还是应该使用更明确的方法/属性,例如AsText
?
user-interface - 设计一个 GUI 框架
我需要为项目创建自定义 GUI 框架。我实际上创建了一个非常原始的 GUI 框架,其中包含按钮、图像、文本等。但它非常简单,而且我没有任何设计 GUI 框架的先验知识。我们正在进行的项目有点严肃,我需要做得更好。那么,您可以为我推荐哪些书籍或任何类型的文档?
注意:我可能想以面向对象的方式创建框架,我可能会使用 C#,但文档不需要使用 C#。