标签: conceptual

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

我看到了一个代码示例,它创建了一个Window_Loaded()由XAML的"Window Loaded"事件调用的方法:

<Window x:Class="TestModuleLoader.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
    <Grid>
        ...
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

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

using System.Windows;

namespace TestModuleLoader
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //what advantages do I have running code here? 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么好处吗?

是否有一个"窗口负荷循环"在ASP.NET怎么回事这是有益的了解,即方法,如PreRender(),PostRender()等?

architecture wpf cross-platform conceptual

7
推荐指数
1
解决办法
1万
查看次数

Laravel 数据迁移的推荐/标准处理

Laravel 附带了数据库迁移,用于管理有关数据库结构的CRUD 操作,但是处理实际数据迁移的适当/推荐/标准化方法是什么?

我的问题是,数据迁移是否应该直接在数据库迁移文件中进行?应该是播种机吗?它应该是从数据库迁移中分派的作业吗?这样的逻辑该何去何从。有时,根据数据库迁移的作用,这些数据迁移会变得异常复杂,本着最大化可读性和保持职责分离的精神,我觉得逻辑属于其他地方。

我想,这个问题更多地归因于 OOP 编程结构和整个实践,而不是 Laravel 特定的,但 Laravel 是我现在正在使用的框架,因此在这方面提出了我的问题。

data-migration database-migration conceptual laravel

7
推荐指数
1
解决办法
333
查看次数

在OpenGL中管理大量行的最有效方法是什么?

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

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

我在这里寻找一个概念性的答案.无需深入了解实际的源代码,只需要了解有关数据结构和通信的一些建议.

opengl performance conceptual

6
推荐指数
2
解决办法
546
查看次数

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

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

在Silverlight中实现Model-View-ViewModel

在WPF中实现Model-View-ViewModel

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

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

<views:QuestionView x:Name="QuestionDataView" />

QuestionViewModel qdata = new QuestionViewModel();
qdata.FetchQuestions();
QuestionDataView.DataContext = qdata.Questions;
Run Code Online (Sandbox Code Playgroud)

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

<view:QuizView Margin="4" />

base.DataContext = new QuizViewModel(Quiz.Create());
Run Code Online (Sandbox Code Playgroud)

看起来我看到的每个MVVM示例都在一个稍微新的变体中进行DataContext绑定,并且我试图确定" 如何在MVVM模式中完成DataContext绑定 ".

当你决定将DataContext绑定到某个东西时,你的头脑是什么:为什么将Window/View/ListBox /等的DataContext绑定到ObservableCollection/ModelView /等?这里有哪些优点,缺点和策略?

任何输入赞赏.

silverlight wpf conceptual mvvm

6
推荐指数
1
解决办法
5274
查看次数

为什么装饰器是结构而非行为设计模式?

我认为自己拥有GoF设计模式的中级知识.但是,在将这些模式分类为结构和行为模式时,我感到困惑.我对创作模式没有任何困惑.

来自维基百科 - 装饰模式 - 在面向对象的编程中,装饰模式是一种设计模式,允许将行为静态或动态地添加到单个对象,而不会影响同一类中其他对象的行为.

从上面的定义可以清楚地看出它是关于行为的

  1. 为什么装饰者是一种结构模式?
  2. 结构模式的标准是什么?
  3. 行为模式的标准是什么?

谢谢.

design-patterns conceptual

6
推荐指数
2
解决办法
2408
查看次数

WPF:如何触发GUI行为以响应视图模型事件?

我正在开发一个WPF/MVVM应用程序,我有一个列表框绑定到ViewModel中的数据.在不同的点我需要视图模型使列表框滚动到给定的元素.

如何在不创建自定义控件的情况下执行此操作,同时仍保持良好的关注点分离?

我目前通过在视图层中创建一个自定义行为类来实现它的工作,该行具有依赖项属性VisibleIndex,然后XAML代码绑定到视图模型中的整数:

<ListBox x:Name="myListBox" 
        local:ListBoxVisibilityBehavior.VisibleIndex="{Binding VisibleIndex}">
Run Code Online (Sandbox Code Playgroud)

设置整数时,它会触发依赖项属性更新处理程序,该处理程序告诉列表框滚动到关联的索引.

这看起来有点hacky,因为依赖属性值永远不会被列表框更改,并且更新处理程序仅在值更改时被调用,因此确保相关项可见的唯一方法是执行以下操作:

// view-model code
this.VisibleIndex = -1;
this.VisibleIndex = 10;
Run Code Online (Sandbox Code Playgroud)

我目前使用行为类的唯一原因是绑定我的自定义依赖项属性,有没有办法用事件代替这样做?

data-binding wpf conceptual mvvm

6
推荐指数
1
解决办法
1270
查看次数

为什么Covariance和Contravariance这样命名?

我想知道为什么Covariance和Contravariance这两个术语在编程领域被命名.通常在概率论或统计学中听到这些术语,表明相对于均值测量的量的扩散.

  • 从统计学中借用这些术语的想法是什么?
  • 这些术语如何描述编程领域的这种传播?
  • 编程领域的意思是什么?

我知道Covariance能够将更具体类型的表达式分配给不太具体的类型的变量,但是,还有另一种解释吗?
与这两个领域相关的示例将是有帮助的.

c# statistics conceptual

6
推荐指数
1
解决办法
133
查看次数

使用FRP模拟道路网络与堵塞

我目前正在尝试理解箭头和FRP,我遇到了一个问题,我似乎无法将其映射到FRP,即如何建立道路网络模型.

我以为我可以将道路网络建模为箭头,其中每个箭头代表一个路段.它接受位置和时间的汽车流并产生相同的类型,尽管具有不同的位置和时间.

到现在为止还挺好.但是这个模型没有考虑到,这些细分可能会被卡住.虽然每个部分都可以很好地响应繁忙的交通并且越来越多地延迟汽车,但是它获得的拥挤越多,就没有回水效应,即堵塞不会向后传播到其他路段.

我怀疑我在这里应用了太多的OO思考,而不是专注于需要计算的东西,但我不能在脑子里把它弄好.

  • 如何使用箭头模拟道路网络,以便考虑回水效应?

simulation haskell arrows conceptual frp

6
推荐指数
1
解决办法
120
查看次数

什么是可注射和可嵌入的?

我已经听说过这两个术语InjectableEmbeddable很多次,但我没有得到它的实际意义.

请帮我清楚地理解.

conceptual concept

6
推荐指数
1
解决办法
108
查看次数

为什么要让word添加到servlet、applet、cmdlet中?

我自己是一个历史爱好者。我喜欢找出命名背后的细微差别。作为 Java 开发人员,我们遇到过servlet(服务器端 java 组件)、applet(带有 gui 的客户端 java 组件)、portlet(类似于门户环境中的 servlet)。现在在 Powershell 中,它们也有cmdletcommandlet。我的问题是为什么它们带有let后缀以及这个let的一般语义含义是什么?

history conceptual

6
推荐指数
1
解决办法
407
查看次数