问题列表 - 第2519页

适用于大型应用程序的数据访问策略

我即将重新开始在.NET 3.5sp1中重写VB6应用程序.VB6应用程序写得很好,数据层完全基于存储过程.我想使用像Linq2SQL/Entity Framework/NHibernate/SubSonic这样自动化的东西.不可否认,除了一次性项目之外,我还没有使用过任何这些工具.

我担心所有这些选择可能带来的潜在问题是速度.例如,现在要检索单行(或整个列表),我使用以下sproc:

ALTER PROCEDURE [dbo].[lst_Customers]
 @intID     INT = NULL
,@chvName   VARCHAR(100) = NULL
AS

SELECT   Customer_id, Name
FROM dbo.Customer
WHERE (@intID IS NULL OR @intID = Customer_id)
 AND (@chvName IS NULL OR Name like ('%' + @chvName + '%'))
ORDER BY name
Run Code Online (Sandbox Code Playgroud)

要在Linq2SQL/Entity Framework/NHibernate/SubSonic中检索单行,这些解决方案是否必须将整个列表下载到客户端并找到我需要的行?

那么,对于具有大型数据域的应用程序,数据访问策略的共识是什么?

.net vb6 legacy stored-procedures data-access-layer

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

为什么要从IIS6迁移到IIS7?

我在多个IIS6/Server 2003机器上运行了许多Web应用程序.他们跑得很好,很开心.它们都是asp.net网络应用程序并使用.NET 3.5.

如果有的话,考虑将Web应用程序移动到IIS7/Server 2008的有效原因是什么?

iis-7 iis-6 windows-server-2003 windows-server-2008

3
推荐指数
1
解决办法
4395
查看次数

嵌套构造函数(或工厂方法)是否良好,或者每个都应该执行所有初始化工作

对于重载的New或Factory样式方法,嵌套构造函数调用(从设计POV)是一个好主意吗?这主要适用于简单的构造函数,其中每个重载构建在前一个构建器上.

MyClass( arg1 ) { 
    _arg1 = arg1; 
    _otherField = true; 
    _color="Blue" 
}
MyClass( arg1, arg2) : this(arg1) { 
    _arg2 = arg2  
}
MyClass( arg1, arg2, arg3) : this(arg1, ar2) { 
    _arg3 = arg3; 
}
Run Code Online (Sandbox Code Playgroud)

或者使用工厂方法:

static NewInstance(arg1 ) { 
   _arg1 = arg1;       
}
static NewInstance(arg1, arg2) {
   f = NewInstance(arg1);
   f._arg2 = arg2;
}
//... and so on
Run Code Online (Sandbox Code Playgroud)

我可以看到双方都有一些弊端

  • 嵌套隐藏构造函数正在执行的操作
  • 不嵌套重复所有功能

所以,这样做是个好主意,还是让我为一些我没有看到的问题做好准备.出于某种原因,我感到不安,主要是因为它分担了初始化的责任.

编辑: @Jon Skeet:我现在明白为什么这太困扰我了.我倒退了!我写了整篇文章,甚至没有注意到,它只是闻到了.我所拥有的大多数其他情况(我写的),按你推荐的方式做,但这肯定不是我这样做的唯一一个.我注意到我做得比较复杂,但是我看起来很简单. 我喜欢微编辑.我也喜欢首字母缩略词!

c#

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

如何在Java中将ActionListener添加到JButton中

private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");
Run Code Online (Sandbox Code Playgroud)

如何将动作侦听器添加到这些按钮,以便从我可以调用actionperformed它们的主方法,所以当它们被单击时,我可以在我的程序中调用它们?

java user-interface swing jbutton actionlistener

27
推荐指数
2
解决办法
15万
查看次数

什么是*.vshost.exe.config文件?

当我使用VS2008编译应用程序时,我有时会得到2个相同的配置文件:

  • *.exe.config
  • *.vshost.exe.config

后者是什么?

config visual-studio-2008

48
推荐指数
2
解决办法
3万
查看次数

易于浏览的开发人员UI技巧

每个开发人员应该知道哪些关键UI设计技巧?

虽然为开发人员提供了许多UI资源(例如,Joel Spolsky的程序员用户界面设计),但我更感兴趣的是一个可以在1到2页内进行通信的项目符号列表.

我对更具战术性的日常UI技巧感兴趣,而不是UI设计会议中涵盖的总体UI设计目标(可能至少有一个具有良好UI感觉的人参加).这些技巧的集合可能涵盖了日常程序员遇到的大约80%的案例.

usability user-interface

20
推荐指数
6
解决办法
5208
查看次数

是否可以使用WPF应用程序进行依赖注入?

我想在我的WPF应用程序中开始使用依赖注入,主要是为了更好的单元可测试性.我的应用程序主要是按照MV-VM模式构建的.我正在为我的IoC容器看autofac,但我认为这对于这个讨论来说并不重要.

将服务注入启动窗口似乎很简单,因为我可以在App.xaml.cs中创建容器并从中解析它.

我正在努力的是如何将DI ViewModels和服务转化为用户控件?用户控件通过XAML标记实例化,因此没有机会Resolve().

我能想到的最好的方法是将容器放在Singleton中,让用户控件从全局容器中解析它们的ViewModel.这感觉就像是一个中途解决方案,充其量,因为它仍然需要我的组件依赖于ServiceLocator.

WPF可以完全使用IoC吗?

[编辑] - 有人建议使用Prism,但即使是对Prism进行评估也似乎是一笔巨大的投资,我希望能有更小的东西

[编辑]这是我停止的代码片段

    //setup IoC container (in app.xaml.cs)
    var builder = new ContainerBuilder();
    builder.Register<NewsSource>().As<INewsSource>();
    builder.Register<AViewModel>().FactoryScoped();
    var container = builder.Build();

    // in user control ctor -
    // this doesn't work, where do I get the container from
    VM = container.Resolve<AViewModel>();

    // in app.xaml.cs
    // this compiles, but I can't use this uc, 
    //as the one I want in created via xaml in the primary window
    SomeUserControl uc = new SomeUserControl(); …
Run Code Online (Sandbox Code Playgroud)

wpf design-patterns dependency-injection inversion-of-control autofac

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

如何在ActionScript 3.0中找到关联数组的长度?

是否有一种简单的方法可以Object在ActionScript 3.0中检索关联数组的长度(以a实现)?

我知道在AS3中有两种主要的创建关联数组的方法:

  1. 使用Dictionary对象; 当钥匙不需要时,特别方便string
  2. 使用a Object,只需为每个所需元素创建属性.属性名称是键,值是,值.

我的应用程序使用方法#2(使用Object类来表示关联数组).

我希望有一些比我的for循环更本土的东西,它可以手动计算所有元素.

apache-flex arrays actionscript-3

10
推荐指数
2
解决办法
2万
查看次数

在Subversion中查看哪些文件被锁定的最佳方法是什么?

我终于让我的小组从SourceSafe切换到Subversion.不幸的是,我的经理仍然想在每个文件上使用独占锁.所以我在每个文件上设置了svn:needs-lock属性,并创建了一个预提交钩子以确保属性保持设置.

我们在Linux服务器上运行Subversion.我们大多数人使用Windows机器,少数人使用Mac.我们正在使用各种SVN客户端(TortoiseSVN,SmartSVN,Subclipse等).

我们现在需要的是一个好的/简单的方法来查看当前锁定在整个存储库中的所有文件(以及锁定它们的人).我在Tortoise和Subclipse中捅了一下,但还没找到我要找的东西.我们的项目有许多深层次的子目录,因此查看每个单独的目录太费时间了.

我想要的是我可以运行的单个报告,其中列出了当前锁定的所有内容以及锁定的内容.获得此类信息的最佳方式是什么?

svn administration

40
推荐指数
4
解决办法
3万
查看次数

如果编译器对指针到函数的支持被破坏,我该如何编写调度程序?

我正在开发一个嵌入式应用程序,通过命令界面控制设备.我嘲笑VC中的指挥调度员,让我满意; 但是当我将代码移到嵌入式环境中时,我发现编译器的指针到func的实现方式已经破碎了.

这是我最初实现代码的方式(在VC中):

/* Relevant parts of header file  */
typedef struct command {
  const char *code;
  void *set_dispatcher;
  void *get_dispatcher;
  const char *_description;
} command_t;

#define COMMAND_ENTRY(label,dispatcher,description) {(const char*)label, &set_##dispatcher, &get_##dispatcher, (const char*)description} 


/* Dispatcher data structure in the C file */
const command_t commands[] = {
  COMMAND_ENTRY("DH", Dhcp, "DHCP (0=off, 1=on)"),
  COMMAND_ENTRY("IP", Ip, "IP Address (192.168.1.205)"),
  COMMAND_ENTRY("SM", Subnet, "Subunet Mask (255.255.255.0)"),
  COMMAND_ENTRY("DR", DefaultRoute, "Default router (192.168.1.1)"),
  COMMAND_ENTRY("UN", Username, "Web username"),
  COMMAND_ENTRY("PW", Password, "Web password"),
  ...
}


/* After …
Run Code Online (Sandbox Code Playgroud)

c function-pointers dispatcher

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