问题标签 [conceptual]

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 投票
3 回答
1822 浏览

php - 自定义 php 模板引擎:我终于走上正轨了吗?

由于我一直迟到回答标记为 php 的问题,我实际上知道答案,我想我会尝试自己问一个问题。

长期以来,我一直在对 php 中的自定义模板引擎进行如此多的完整重写,以至于我想征求意见。

简而言之,这是我迄今为止实现的最重要的部分:

  1. 任何 http 请求都会被路由到 handler.php
  2. 根据请求的 URL 实例化控制器并调用该控制器上的方法。
  3. 控制器方法必须返回一个IView兼容的类实例(IView定义一个Render()方法)
    1. 模板引擎为每个以“服务器端”结尾的命名空间执行一些 xpathsprintf('//%s:*[@runat="server"]', $namespaceprefix )
    2. 对于每个找到的标签,它都会查找由标识的 php 类$tag.localName并实例化一个并将其附加到原始模板。
    3. 附加后,原始模板节点将被馈送到“ServerTag”,以便它可以正确初始化
    4. 完全完整的 IView 兼容实例被分配给控制器方法中的临时变量。
  4. 控制器要求将数据从 Model 类推送到执行一些漂亮的 xpath DOM 替换的视图。
  5. 控制器将完全填充的视图返回给main()处理程序,处理程序呈现它。

我的模板基于 xml。一个简单的模板目前看起来像:

目前,此输出(包括损坏的缩进):

  • 我在这里只触及了冰山一角,是的,一旦我对功能感到满意,我将从输出中删除未使用的 xmlns 属性
  • 我的 mvc 和核心框架中目前只有 200 多个类
  • 我知道现有的解决方案可以做类似的事情,但我想建立自己的。

所以最大的问题是:你对必备功能有什么意见吗?

PS如果有人对完整的源代码感兴趣,请发表评论,当我达到合理的开发人员可用性水平时,我将在我的网站上提供它。

0 投票
7 回答
638 浏览

apache-flex - 概念问题:松散耦合

我正在构建一个图形板,例如我面临设计问题的项目。

Main Class 是 Board,它是一个画布,负责在绘制形状时处理鼠标事件。它还具有上下文变量,例如 currentShape 或 snapFlag 来激活网格磁性。

为了处理形状的移动/调整大小/旋转,它们继承自名为 ObjectHandles (flex) 的第三方开源工具。

我有一个 baseShape 扩展 ObjectHandles 主类来覆盖它的一些内部函数,比如 onMove 函数。

当创建一个形状(鼠标向下、移动、鼠标向上)时,这是由 Board 处理的,它知道他自己的 snap 标志。

var mouseUpPoint:Point = boardCanvas.globalToLocal(new Point(event.stageX, event.stageY)); var snapMouseUpPoint = snapPoint(mouseUpPoint.x, mouseUpPoint.y);

在我覆盖的 onMove 方法中,我希望形状能够了解 Board snap 标志及其变化时间。我该怎么做呢 ?

我是否在我的 basicShape 构造函数中将 Board 作为参数传递,以便我可以检查 snap ?

我是否将标志作为参数传递并以某种方式使所有形状都监听变化?

什么是最干净的解决方案?

非常感谢。

0 投票
8 回答
736 浏览

inheritance - 面向对象语言中的继承概念

我正在和我的一个朋友讨论多重继承与单继承,并发现很明显,我对面向对象设计的概念与他的完全不同。我主要是一名 Obj-C 程序员,所以多重继承并不是我每天都在使用的东西。他主要是 Windows/PSP 下的 C++ 程序员,所以我们可能每天使用不同的概念。

他实际上带来了以下主题:新人类继承了什么?

我的想法是会有一个 Human 类,而新的存在将从该类继承并从他的两个父母那里获得一些实例变量(例如他的 DNA 和其他人)。

他的想法是,孩子会继承他的两个父母,以获得他父母的方法。

现在我有点困惑,因为老实说......从对象继承?继承不是用来从包含特定对象组通用方法的类继承的吗?这个论点真让我困惑不已。

0 投票
4 回答
577 浏览

opengl - 在 OpenGL 中管理大量线条的最有效方法是什么?

我正在开发一个简单的 CAD 程序,它使用 OpenGL 来处理屏幕渲染。屏幕上绘制的每个形状都完全由简单的线段构成,因此即使是简单的绘图也最终会处理数千条单独的线。

在我的应用程序和 OpenGL 之间传达此行集合中的更改的最佳方式是什么?有没有办法只更新 OpenGL 缓冲区中行的某个子集?

我在这里寻找一个概念性的答案。无需深入实际的源代码,只需对数据结构和通信提出一些建议。

0 投票
2 回答
634 浏览

objective-c - Objective-C 消息传递,巧妙处理未知消息

有没有办法做类似于 KVC 的事情,但使用消息名称作为密钥本身?例如,valueForKey:有没有办法让对象响应所有消息?

例如,假设您有一个 XML 文档:

除了使用已经可用的 NSXMLDocument 和 co. 之外,是否还有一种方法可以实现某种抽象,以便您可以这样做:

我选择 XML 只是作为示例,但我想知道这是否可能,以及它是否涉及过于接近 Objective-C 运行时或者它是否被运行时本身支持,以及我将如何进行关于实施这样的事情。这纯粹是出于实验目的,我知道可能会有很大的性能成本。

编辑:
如果可能的话,我想避免使用现有的框架,如 Cocoa 并使用基本的 Objective-C object Object

0 投票
2 回答
13550 浏览

wpf - 为什么要在 XAML Window.Loaded 调用的方法中运行代码?

我看到了一个代码示例,它创建了一个Window_Loaded()由 XAML 的“加载窗口”事件调用的方法:

但在后面的代码中,代码在构造函数和Window_Loaded()方法中都有效:

这样做有什么好处吗?

是否有像 ASP.NET 中那样的“窗口加载周期”,这有助于了解,例如PreRender()PostRender()等方法?

0 投票
3 回答
5318 浏览

wpf - 您在 MVVM 中绑定 DataContext 的策略是什么?

这两个 1 小时的视频分步展示了如何使用 MVVM 模式在 Silverlight 和 WPF 中构建简单的测验应用程序:

在 Silverlight 中实现模型-视图-视图模型

在 WPF 中实现模型-视图-视图模型

令我惊讶的是它们在结构上的不同之处,例如,它们如何使用 DataBinding:

在 Silverlight 方法中,我们将View的 DataContext 设置为ViewModel中的ObservableCollection

在 WPF 方法中,我们Window的 DataContext 设置为ViewModel本身

似乎我看到的每个 MVVM 示例都以稍微新的变体进行 DataContext 绑定,我试图确定一些坚实的基础,即“如何在 MVVM 模式中完成 DataContext 绑定”。

当您决定将 DataContext 绑定到某个东西时,您会想到什么:为什么要将Window / View / ListBox / 等的 DataContext 绑定到ObservableCollection / ModelView / 等?这里有什么优点、缺点和策略?

任何输入表示赞赏。

0 投票
7 回答
2494 浏览

java - 对象是否封装了数据,即使是同一类的其他实例也不能访问数据?

在 Java 中,

对象是否封装了数据,即使是同一类的其他实例也不能访问数据?仅在使用关键字“private”时?Java 中的“访问器方法”是什么 - 像 getName() 这样的方法?

谢谢

0 投票
1 回答
3729 浏览

wpf - 如何将我的 RoutedCommand 处理程序从 View-codebehind 移动到 ViewModel?

以下 RoutedCommand 示例有效。

但是,执行命令的按钮的处理是在 view 的代码隐藏中。我理解 MVVM 的方式,它应该在 ViewModel 中

但是,当我将该方法移动到 ViewModel(并将其更改为 public)时,我收到错误“ ManagedCustomersView 不包含 OnSave 的定义”。即使我将 RoutedCommand 第二个参数更改为 typeof(ManageCustomersViewModel),我也会收到相同的错误。

如何将命令处理程序从 View-codebehind 移动到 ViewModel?

ManageCustomersView.xaml:

ManageCustomersView.xaml.cs:

命令.cs:

0 投票
1 回答
1700 浏览

entity-framework - 区分存储模型和概念模型字段名称(实体框架)

我遇到的每个示例都具有存储模型中的实体和属性,其名称与概念模型中的名称完全相同。所以在映射部分,我无法判断一个实体或属性是来自存储模型还是概念模型。

这是一个实体框架图的片段。哪些“ID”字段来自数据库,哪些来自实体?