小编Ole*_*rov的帖子

Poltergeist 反模式示例

我试图了解什么是 Poltergeist 反模式,以及它与 Command 或 Delegate 模式有何不同。我读了:

http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists

但是没看懂区别...

所以为了清楚起见,我想看看它的代码示例(我更喜欢 C# 或 Java 语言)。

有人有吗?

design-patterns anti-patterns

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

如何使两个控件集中显示?

我正在尝试编写一个自定义控件,该控件在模板中具有一个TextBox和一个ListBox。但是我发现,当我在TextBox中输入文本时(因此TextBox具有焦点),ListBox显得未聚焦。这使我的控件看起来像两个不同的控件。

我在MSDN上读到过,在WPF中有一个叫做FocusScope的东西,但是我没有成功。

所以我的问题是,当其中之一具有键盘焦点时,如何使ListBox和TextBox控件都显示为焦点?

wpf wpf-controls controltemplate

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

执行该方法的副本总是提供2倍的性能

我在.Net Core 2.2中编写了下一个测试程序并在3个不同的PC上执行它给出了大致相同的结果:第二个执行方法总是执行得更快.

代码:

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        for (int i = 0; i < 10; i++)
        {
            RunTest();
        }
    }

    private static void RunTest()
    {
        const long cnt = 1000000000;

        var time1 = Test1(cnt);
        var time2 = Test2(cnt);

        Console.WriteLine($"Done in: {time1} vs {time2} diff: {time1 - time2}");
    }

    private static TimeSpan Test1(long cnt)
    {
        var v = 1;
        var timer = Stopwatch.StartNew();
        for (long i = cnt; i != 0; i--)
        { …
Run Code Online (Sandbox Code Playgroud)

.net performance .net-core

5
推荐指数
0
解决办法
74
查看次数

Quartz.NET具有AdoNetJobStore性能

我有~5M工作,每个Job在Quartz.Net中只安排了一个触发器,因为最多可以同时运行约300K个作业,我有限制在3小时内完成所有300K作业(所以~100K作业/小时),但现在我的测试应用程序只能在Quartz.Net配置为使用AdoNetJobStore时每小时10K.

我正在使用下一个Quartz配置:

<quartz>
    <add key="quartz.scheduler.instanceName" value="XxxDefaultQuartzScheduler" />
    <add key="quartz.scheduler.instanceId" value="instance_one" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
    <add key="quartz.threadPool.threadCount" value="10" />
    <add key="quartz.threadPool.threadPriority" value="1" />
    <add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
    <add key="quartz.jobStore.misfireThreshold" value="60000" />
    <add key="quartz.jobStore.dataSource" value="default" />
    <add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz" />
    <add key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
    <add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
    <add key="quartz.jobStore.useProperties" value="false" />
    <add key="quartz.dataSource.default.connectionStringName" value="QuartzDbContext" />
    <add key="quartz.dataSource.default.provider" value="SqlServer-20" />
</quartz>
Run Code Online (Sandbox Code Playgroud)

是否可以使用SQL Job Store配置Quartz.Net以提供此类性能?

sql-server performance quartz.net

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

备份-SqlDatabase 无法识别

我有一个用于备份数据库的 PowerShell 脚本。但今天它停止工作并出现下一个错误:

Backup-SqlDatabase : The term 'Backup-SqlDatabase' is not recognized as 
the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and
try again.
Run Code Online (Sandbox Code Playgroud)

我没有改变剧本。原因可能是什么?

更新:安装了 SqlServer 模块。现在我有下一个:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Temp> import-module sqlserver -erroraction stop -verbose
VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\sqlserver\21.0.17224\sqlserver.psd1'.
VERBOSE: Loading 'TypesToProcess' from path 'C:\Program
Files\WindowsPowerShell\Modules\sqlserver\21.0.17224\sqlprovider.types.ps1xml'.
VERBOSE: Loading …
Run Code Online (Sandbox Code Playgroud)

powershell backup-sqldatabase

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

这是反模式吗?

我经常看到这样的代码:

public abstract class AbstractDataReader
{
    public void Read()
    {
        var reader = new StreamReader(FileName);
        ........
    }

    protected abstract string FileName
    {
        get;
    }
}

public class DataReader : AbstractDataReader
{
    protected override string FileName
    {
        get { return "data.txt"; }
    }
}
Run Code Online (Sandbox Code Playgroud)

至于我它接缝作为反模式,因为DataReader类没有逻辑,我不能AbstractDataReader没有继承它,我也必须继承该类只是为了指定参数而且我工作得慢,然后只是把它放在那里也很奇怪参数通过构造函数.

但我找不到这种反模式的名称.

有人知道吗?

c# inheritance design-patterns anti-patterns

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