问题列表 - 第16163页

使用Unity的策略模式和依赖注入

我终于忍受了Dependency Injection(早就应该); 我开始玩Unity并遇到战略模式的问题.我可以使用容器向我返回基于名称的策略的特定实现,但我没有看到我应该如何在上下文中获得正确的策略.
让我们举一个简单的例子说明:上下文是一辆汽车,它有一个IEngine(策略),有2个实现,FastEngine和SlowEngine.代码将沿着这些方向看:

public interface IEngine
{
    double MaxSpeed
    {
        get;
    }
}

internal class FastEngine:IEngine
{
    public double MaxSpeed
    {
        get 
        { 
            return 100d; 
        }
    }
}

internal class SlowEngine:IEngine
{
    public double MaxSpeed
    {
        get
        {
            return 10d;
        }
    }
}

public class Car
{
    private IEngine engine;
    public double MaximumSpeed
    {
        get
        {
            return this.engine.MaxSpeed;
        }
    }

    public Car(IEngine engine)
    {
        this.engine = engine;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题如下:我应该如何实例化快车或慢车?我可以使用容器为我提供每个实现,我可以设置一个"默认"实现来使用:

IUnityContainer container = new UnityContainer();
container.RegisterType<IEngine, FastEngine>();
container.RegisterType<IEngine, FastEngine>("Fast"); …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection ioc-container unity-container strategy-pattern

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

在xml-schema中注释appinfo的约定?

我相信下面三个在语法上是正确的; 但根据惯例允许哪些(特别是在企业中)?


下面的第一个用于我见过的大多数例子(例如JAXB),但它的详细说明:

<xs:annotation>
  <xs:appinfo>
    <myinfo>don't panic</myinfo>
  </xs:appinfo>
</xs:annotation>
Run Code Online (Sandbox Code Playgroud)

下面的第二个是允许的,因为允许任何属性<appinfo>(不在xml架构自己的命名空间中).它更短,看起来合理 - 但它是传统的吗?

<xs:annotation>
  <xs:appinfo myinfo="don't panic"/>
</xs:annotation>
Run Code Online (Sandbox Code Playgroud)

下面的最后一个是我最喜欢的,因为它太短并且不会使架构混乱.我确信这是合法的,因为同样<appinfo>,任何属性都是允许的<annotation>(同样,提供非xml架构命名空间).但是它在不使用的情况下对应用程序信息进行编码<appinfo>,所以我担心它会不受欢迎.可不可能是?

<xs:annotation myinfo="don't panic"/>
Run Code Online (Sandbox Code Playgroud)

非常感谢您的评论!

xsd annotations

8
推荐指数
2
解决办法
4771
查看次数

在JAVA中编写Ajax代码

我想在java中编写ajax代码,即我想在不使用ajax的情况下使用ajax的功能.我正在寻找一些可以这样做的JAVA API.

就像我们通过JAVA程序发布网页数据一样,我想通过JAVA程序执行ajax的操作.

请建议.

javascript java ajax gwt postdata

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

如何在iphone发生中断后恢复录制?

我正在研究录音机应用程序,它工作得非常好.

但我坚持中断的问题.来电时,

- (void)audioRecorderBeginInterruption:(AVAudioRecorder *)recorder
Run Code Online (Sandbox Code Playgroud)

然后调用此方法并暂停录制.

如果用户拒绝来电:

- (void)audioRecorderEndInterruption:(AVAudioRecorder *)recorder
Run Code Online (Sandbox Code Playgroud)

然后在这里,我想从中断的那一刻开始重新录制.但是当我再次调用记录方法时,录制以新文件开始.

iphone audio recording avaudiorecorder

9
推荐指数
2
解决办法
4933
查看次数

Xcode,iPhone SDK中的错误处理

在Visual Basic中,可以使用一行代码来处理代码中的错误

"On Error Resume Next"
Run Code Online (Sandbox Code Playgroud)

Objective-C中有类似的东西吗?我的问题是我有一个"添加新单元格"添加按钮,在运行时创建一个新单元格.但是,细胞是可以重新订购的.当您尝试重新排序"添加新单元格"单元格时,我得到索引超出范围错误.如果我可以修复发生错误的错误,但是如果有错误处理程序我可以用来在出现错误时退出移动函数,那也很酷.

这是我的moveRowAtIndexPath代码:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
    iProfileAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    [appDelegate moveFromOriginal:fromIndexPath.row toNew:toIndexPath.row];
}
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (7) beyond bounds (7)'
Run Code Online (Sandbox Code Playgroud)

iphone error-handling xcode uitableview

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

在后台运行bat文件

我想在后台运行一个bat文件.我在谷歌搜索,我发现了一些使用hstart和cmdow的例子.但是不管怎么说用windows命令做这个吗?当我没有为我的项目添加额外的程序时,我真的很好!提前

batch-file

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

有没有比fopen()更快的函数?

假设有一个我们上传图片的网站.现在,当我们必须显示该特定登录用户的相册时.我们能做的是:

  1. 我们将该图像的路径保存在数据库中并检索图像
  2. 仅保存图像的名称(唯一)并使用fopen(),因为我们将所有上载的图像保存在单个文件夹中

现在我的问题是:

检索该文件而不是fopen()的各种选项有哪些?意思是,还有什么比这更快的东西?

php database

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

检查Magento产品是否是可配置产品的子产品

我有以下代码来获取产品列表

$collection = Mage::getModel('catalog/product')->getCollection();

$collection->addAttributeToSelect('name')
     ->addAttributeToFilter("category_ids", array('finset'=>$this->category_id));

foreach($collection as $product) {
   echo $product->getName();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎么能不回应"简单"但属于父"可配置"产品的产品.(例如,不要显示"Red Shirt Medium",因为它属于"Red Shirt")

我已经知道这个协会住在' catalog_product_super_link'但我刚刚开始使用Magento并且不幸的是不知道如何进行过滤:)

干杯伙计们,

克里斯.

php magento

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

我在哪里可以找到nginx的错误日志,使用fastcgi和django

我正在使用django和fastcgi + nginx.我想知道在这种情况下存储日志(错误)的位置

django fastcgi nginx error-log

339
推荐指数
9
解决办法
54万
查看次数

用于查找无法访问/未使用的c#代码的开源工具

是否有任何开源静态代码分析工具,可以帮助在C#程序中找到无法访问/未使用的代码?

c#

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