我试图了解什么是 Poltergeist 反模式,以及它与 Command 或 Delegate 模式有何不同。我读了:
http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists
但是没看懂区别...
所以为了清楚起见,我想看看它的代码示例(我更喜欢 C# 或 Java 语言)。
有人有吗?
我正在尝试编写一个自定义控件,该控件在模板中具有一个TextBox和一个ListBox。但是我发现,当我在TextBox中输入文本时(因此TextBox具有焦点),ListBox显得未聚焦。这使我的控件看起来像两个不同的控件。
我在MSDN上读到过,在WPF中有一个叫做FocusScope的东西,但是我没有成功。
所以我的问题是,当其中之一具有键盘焦点时,如何使ListBox和TextBox控件都显示为焦点?
我在.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) 我有~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以提供此类性能?
我有一个用于备份数据库的 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) 我经常看到这样的代码:
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没有继承它,我也必须继承该类只是为了指定参数而且我工作得慢,然后只是把它放在那里也很奇怪参数通过构造函数.
但我找不到这种反模式的名称.
有人知道吗?
performance ×2
.net ×1
.net-core ×1
c# ×1
inheritance ×1
powershell ×1
quartz.net ×1
sql-server ×1
wpf ×1
wpf-controls ×1