据我所知,所有DDD实体都应该有一个ID.所以,如果ProductDetail对产品有任何了解,那么我的问题在于主要的细节关系,例如Product和ProductDetail?它是否与ProductDetail类中的ProductID属性相关?在数据库中,这当然是正常的,因为它是链接两个对象的唯一方法,但这是DDD中的最佳实践吗?我使用Linq2Sql作为ORM映射器,所以这是给定的,但我认为这不是正确的方法.有人对此有一些智慧吗?
我正在使用.NET 3.5并在Community Server 2008框架内构建页面.
在其中一个页面上,我试图让UpdatePanel正常工作.
我直接从ASP.NET网站上获取样本,通过单击按钮将UpdatePanel中的时间更新为当前时间,但出于某种原因,当我尝试执行该功能时,整个页面刷新.
这是我有的:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString();
Label2.Text = "Panel refreshed at " + DateTime.Now.ToString();
}
Run Code Online (Sandbox Code Playgroud)
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>UpdatePanel</legend>
<asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
每当我点击按钮,确保面板更新 - 但整个页面回发!我可以看到整个页面闪烁.我到底做错了什么?
我在嵌套的母版页内,但我不确定这是不是一个问题.我正在使用的社区服务器框架中是否存在导致所有事件都回发的内容?
我想在OpenGL/GLUT窗口中实现自己的光标.通常的做法是冻结光标(因此无法触及屏幕边缘)并自行跟踪其位置.我可以使用屏幕上的光标隐藏
glutSetCursor(GLUT_CURSOR_NONE);
Run Code Online (Sandbox Code Playgroud)
然后在我的glutPassiveMotionFunc回调内部使用指针移动指向窗口的中间位置
int centerX = (float)kWindowWidth / 2.0;
int centerY = (float)kWindowHeight / 2.0;
int deltaX = (x - centerX);
int deltaY = (y - centerY);
mouseX += deltaX / (float)kWindowWidth;
mouseY -= deltaY / (float)kWindowHeight;
glutWarpPointer( centerX, centerY );
Run Code Online (Sandbox Code Playgroud)
这样可以保持指针卡在窗口中间.问题是,当我绘制'OpenGL'鼠标(在glutDisplayFunc()回调内部)时,它非常生涩.
我在网上看了一下,发现可能存在一个问题,即glutWarpPointer()导致再次调用glutPassiveMotionFunc回调,导致循环,但这似乎不会发生在这里.
我在Mac OS X上发现了一篇帖子,说CGDisplayMoveCursorToPoint更适合这个.调用CGDisplayMoveCursorToPoint可以工作,但运动仍然非常不稳定(我似乎得到很多事件,其中x和y都是0).在任何情况下,我都希望这能在Linux上运行,因此只有Mac的解决方案并不理想(但我不得不在不同的系统上做不同的事情).
我已将其缩减为测试用例.
#include <stdio.h>
#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>
int curX = 0;
int curY = 0;
void display() {
glClearColor( 0.0, 0.0, 0.0, 1.0 );
glClear( GL_COLOR_BUFFER_BIT );
float vx = (float)curX / 300.0 + …Run Code Online (Sandbox Code Playgroud) 当我可以将所有业务类放在类库中,在业务逻辑中使用它们,然后将这些相同的业务对象传递给边界类时,为什么要使用DTO/Domain对象?
更新:所有都是好点,谢谢你的帮助.跟进问题:
您通常在哪里放置这些DTO?与Domain对象一起,即在同一名称空间中?
namespace MedSched.Medical
{
public class MedicalGroup
{
//...
}
public class MedicalGroupDTO
{
//...
}
}
Run Code Online (Sandbox Code Playgroud) 计算C++时差的最佳方法是什么?我正在计算程序的执行速度,所以我对毫秒感兴趣.更好的是,秒.毫秒..
接受的答案有效,但需要包括ctime或time.h,如评论中所述.
有没有办法在不关闭模拟器的情况下在模拟器中重新加载Android应用程序,保存任何代码更改,并再次运行模拟器?如果我对布局进行简单的更改,那么在Eclipse和Android"靴子"中运行它需要大约30秒,我可以解锁模拟器来运行应用程序.有什么办法可以在做出改变时缩短这个时间,还是我只需要处理它?
我试图使用Leaks应用程序分析iPhone应用程序,除了当我尝试查看有关特定内存泄漏的详细信息时,一切似乎都正常工作.泄漏似乎没有加载我的源代码.查看右侧的堆栈视图,我可以看到引用iPhone框架的调用,但引用我编写的源代码的任何内容都是空的.下面的截图说明了我的观点.浅蓝色的块应该引用我的源代码.有没有人遇到过这个问题?Leaks是不是没有正确找到我的源代码/符号?谢谢!
编辑:我正在使用带有Debug配置的'Device - iPhone OS 2.2'编译应用程序.我通过在Xcode中选择Run-> Start With Performance Tool-> Leaks来启动Leaks.如何为Leaks提供"使符号文件可用"?
alt text http://www.andrewgarrison.com/forum/leaks_nosource.png
有人可以提供一些关于何时使用消息队列的经验法则以及它们应该解决的实际现实问题吗?
谢谢
所以我已经阅读了一些杂志文章和Gimpel的PC-lint和Flexelint C/C++编译器的网站.
这真的很贵(至少对我而言),但似乎可能有一些保证成本的优点.
所以我想知道是否有其他人使用/购买过它们并且可以提供他们的意见?
全部,这是上一个问题的后续跟进:C#格式化外部Dll函数参数
这里特别是我试图转换为C#的代码:
FILES_GetMemoryMapping((LPSTR)(LPCTSTR)MapFile, &Size, (LPSTR)MapName, &PacketSize, pMapping, &PagePerSector);
// Allocate the mapping structure memory
pMapping = (PMAPPING)malloc(sizeof(MAPPING));
pMapping->NbSectors = 0;
pMapping->pSectors = (PMAPPINGSECTOR) malloc((Size) * sizeof(MAPPINGSECTOR));
// Get the mapping info
FILES_GetMemoryMapping((LPSTR)(LPCTSTR)MapFile, &Size, (LPSTR)(LPCTSTR)MapName, &PacketSize, pMapping, &PagePerSector);
Run Code Online (Sandbox Code Playgroud)
函数"FILES_GetMemoryMapping"被调用两次,我猜第一次得到结构的大小,第二次实际填充它.
"pMapping"是指向C++结构的指针,在我的C#代码中,我将pMapping作为IntPtr类型.下一行我可以转换为:
pMapping = Marshal.AllocHGlobal(Marshal.SizeOf(new UM0516.Mapping()));
Run Code Online (Sandbox Code Playgroud)
(UM0516.Mapping)是结构.很酷,所以我刚刚分配了一些IntPtr指向的空间.现在为下一行......"pMapping-> NbSectors = 0;"
我怎么想进入现在分配的非托管内存空间,键入将其转换为(UM0516.Mapping)结构,并设置其中一个成员?然后确保我没有过多地使用它,以便第二次调用"FILES_GetMemoryMapping"时,它现在可以使用这个结构吗?
- 好的,我已经采取了一些建议,现在有了这个:
我尝试了这个,并在第一个"FILES_GetMemoryMapping"调用中得到"AccessViolationException未处理"异常
这是我有的:
string filepath = @"C:\blah.blah";
string MapFile = @"D:\blah.blah";
UM0516.Mapping myMapping = new UM0516.Mapping();
IntPtr pMapping = Marshal.AllocHGlobal(Marshal.SizeOf(myMapping));
Marshal.StructureToPtr(myMapping, pMapping, false);
ushort PacketSize = 0;
ushort size = …Run Code Online (Sandbox Code Playgroud)