在实现Domain事件时,事件处理程序应仅用于纯域关注; 您将与业务专家讨论的内容,或者是否可以被对域模型感兴趣的任何内容使用?
最好用一个简单的例子来解释这个问题,考虑一个Calendar应用程序来为员工安排工作.
我们可能会有以下域名事件......
AppointmentAdded AppointmentRemoved AppointmentContentChanged AppointmentMoved
我们有这些事件的处理程序,例如当约会被移动到员工工作时间之外的时间时,我们设置警告标志.
当然存在对这些事件感兴趣的应用程序问题,例如,当将约会添加到日历时,我们应该将其添加到工作单元,以便我们可以稍后提交更改.
这些应用程序问题是否应该是域事件的消费者,还是我们应该提出并处理单独的系统事件?
我想知道,为了将带有 Win32 API 的 (ms-windows-) 窗口向右移动 20 像素,向下移动 40 像素,以下函数调用是如何执行的:
SetWindowPos(
/* hWnd */ hChildDlg2,
/* hWndInsertAfter */ (HWND) -1,
/* X */ 20,
/* Y */ 40,
/* cx */ -1,
/* cy */ -1,
/* uFlags */ SWP_NOSIZE | // Ignore cx, cy
SWP_NOZORDER // and hWndInsertAfter
);
Run Code Online (Sandbox Code Playgroud)
我问是因为在我看来可能有一个函数只将 aHWND和 an xandy作为参数。
我试图在远程Powershell 2.0会话中使用[Reflection.Assembly] :: LoadFrom加载.Net 4.0程序集.由于我对powershell.exe.config文件所做的更改,它在本地工作,但在远程会话中失败并显示"此程序集由运行时更新...构建"异常.
涉及的两台机器都有.Net 2.0和4.0,并且对x86和x64位powershell可执行文件进行了powershell.exe.config更改.我也尝试更改服务器powershell注册表项:HKLM:\ Software\Microsoft\Powershell\1\PowerShellEngine\RuntimeVersion HKLM:\ Software\Wow6432Node\Microsoft\Powershell\1\PowerShellEngine\RuntimeVersion
我一定错过了什么,但我不知道它是什么.
编辑: 以下是我正在执行的代码的示例.
PS C:\>Enter-PSSession -ComputerName server1
[server1]: PS C:\stuff> dir *.dll | foreach { [Reflection.Assembly]::LoadFrom( $_.FullName ) }
Run Code Online (Sandbox Code Playgroud) 所以我有一个可观察的集合绑定到ItemsControl.
当我向集合添加项目时,我从Visual集合中获得了超出范围的索引的异常.
<ItemsControl x:Name="ReportPages" ItemsSource="{Binding History}" DockPanel.Dock="Top">
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<ItemsPresenter HorizontalAlignment="Center"/>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding ChildWindows}">
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<Grid Margin="0,10,0,10" >
<ItemsPresenter />
<Border x:Name="ResizeFrame" BorderThickness="4" BorderBrush="LightBlue" Visibility="{Binding Active, Converter={StaticResource BooleanToVisibilityConverter}}"/>
</Grid>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas x:Name="LayoutCanvas" Background="white" ClipToBounds="true"
MouseDown="History_MouseLeftButtonDown" PreviewMouseDown="ClosePanels"
Width="{Binding PageSizeProp.PageWidth}" Height="{Binding PageSizeProp.PageHeight}"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
内部ChildWindows是我要添加项目的集合.需要注意的是,ChildWindows是一个ReadOnlyObservableCollection,我通过一个可以访问它所基于的Collection的方法添加.
我完全失去了为什么会发生这种情况(并且只有一些时间).
编辑:这是实际的堆栈跟踪
at System.Windows.Media.VisualCollection.Insert(Int32 index, Visual visual)
at System.Windows.Controls.Panel.addChildren(GeneratorPosition pos, Int32 itemCount)
at System.Windows.Controls.Panel.OnItemsChangedInternal(Object sender, ItemsChangedEventArgs args) …Run Code Online (Sandbox Code Playgroud) 我知道我冒险提出一个推测性的问题,但是,受到这个最近的问题的启发,我想知道哪个编辑器在语法高亮Perl方面做得最好.很清楚解析Perl的困难(不可能)我知道不会有一个完美的案例.我仍然怀疑在忠实代表中是否有明确的领导者.
NB我用gedit,它工作正常,但已知问题.
在包装器div中,浮动元素似乎不响应左右边距设置.例:
HTML:
<div id ="wrapper">
<div id = "content"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#wrapper
{
width: 1000px;
display: block;
margin-left: auto;
margin-right: auto;
overflow: hidden;
}
#content
{
width: 400px;
height: 200px;
display: block;
float: left;
margin-left: 30px;
}
Run Code Online (Sandbox Code Playgroud)
#content忽略其左边距设置.为什么?
node.js的事件驱动编程模型使得协调程序流有点棘手.
简单的顺序执行变成了嵌套的回调,这很容易(虽然写下来有点复杂).
但并行执行怎么样?假设您有三个可以并行运行的任务A,B,C,当它们完成时,您希望将结果发送到任务D.
使用fork/join模型,这将是
我如何在node.js中编写它?有没有最佳做法或烹饪书?我是否每次都必须手动滚动解决方案,或者是否有一些带帮助程序的库?
javascript parallel-processing concurrency fork-join node.js
我知道当UIKit呈现一个单元格时,它会tableView:heightForRowAtIndexPath:用来计算高度.我的问题是,如何以及何时确定实际情况UITableViewCell.我想构建动态单元格,并需要计算单元格中文本的位置.我相信我可以使用self.bounds和self.frame - 我只是好奇这些设置 - 即使使用了dequeueReusableCellWithIdentifier.
谢谢.
我无法确定在我刚刚使用开发人员工具安装的centos的全新安装中是否安装了openmp。
我试图运行ldconfig -p | grep的openmp,我没有看到它列出。
该版本的gcc是否可用于centos?
谢谢
我正在使用其中一种语言"波斯语"构建一个多语言网站:到目前为止一切正常,但是当开始下一行文本时,右到左语言"波斯语/波斯语"没有正确对齐.这意味着下一行不会像往常一样从右到左语言对齐.翻译工作.
settings.py
gettext = lambda s: s
#default language should be german
LANGUAGE_CODE = 'de'
#LANGUAGE_CODE = 'en'
#LANGUAGE_CODE = 'fa'
LANGUAGES = (
#('fr', gettext('French')),
('de', gettext('German')),
('en', gettext('English')),
('fa', gettext('Farsi')),
#('pt-br', gettext("Brazil")),
)
Run Code Online (Sandbox Code Playgroud)
language_chooser.html
{% load localeurl_tags %}
{% load i18n %}
{% load tabs %}
{% for lang in LANGUAGES %}
{% ifequal lang.0 LANGUAGE_CODE %}
<li class="active"><a>{{ lang.1 }}</a></li>
{% else %}
<!--
{% if LANGUAGE_BIDI %}
<li>The current language is bidirectional</li>
{% else %}
<li>The …Run Code Online (Sandbox Code Playgroud) .net-4.0 ×1
architecture ×1
binding ×1
centos ×1
concurrency ×1
css ×1
django ×1
editor ×1
fork-join ×1
html ×1
ios ×1
iphone ×1
javascript ×1
layout ×1
linux ×1
multilingual ×1
node.js ×1
openmp ×1
perl ×1
powershell ×1
uikit ×1
uitableview ×1
winapi ×1
windows ×1
wpf ×1
xhtml ×1