在我当前的项目中,我正在使用实现以下ITransaction界面的类.这是可以撤消的事务的通用接口.我还有一个TransactionSet用于尝试多个Transactions或TransactionSets的类,最终可用于创建事务树.
一些实现ITransaction保持对对象实例或文件的临时引用,如果有调用,它可以在以后使用Undo().稍后可以确认成功的事务,之后Undo()不再允许该事务,因此也不再需要临时数据.目前我正在使用Dispose()我的确认方法来清理任何临时资源.
但是,现在我希望我的交易也会触发事件,以通知其他类已发生的事情.除非事务得到确认,否则我不希望事件触发.因为我不希望允许事务通过撤消多次触发事件然后再次运行.
因为我Dispose()用来确认交易是否有任何错误从它发射这些事件?或者更好的是Confirm()在我的界面上有一个单独的方法可以触发事件,另外Dispose()清理临时数据?我想不出任何我想要确认但不处理交易的情况.然而,我并不完全清楚我应该和不应该做什么Dispose().
public enum TransactionStatus
{
NotRun, // the Transaction has not been run, or has been undoed back to the original state
Successful, ///the action has been run and was successful
Error //there was an attempt to run the action but it failed
}
/// <summary>
/// Generic transaction interface
/// </summary>
public interface ITransaction
{
TransactionStatus …Run Code Online (Sandbox Code Playgroud) 我知道这在python中是可能的,但是我可以获得javascript对象的方法列表吗?
令人鼓舞的是,Shoes(Ruby GUI框架)具有出色的打包功能,但我担心它实际上并没有"围绕"创建的应用程序.OSX的包装在.app系统中输出鞋子安装程序和鞋子文件.有没有什么方法可以创建一个包含鞋子的.app - 这不会让你安装鞋子来运行它?
我正在创建一个小应用程序 - 只是一个启动按钮和一个子进程的停止按钮等.
char**r; r =(char**)malloc(10);
上面的分配是否足够?我不需要为char循环分配for循环吗?任何可以解释哪一个是正确的?
我刚刚开始一个新项目,现在ASP.NET MVC以极其可组合的方式设计,我认为这可能是开始单元测试的好时机.我的大多数代码都是新鲜的,我在编写实际的生产代码之前编写了测试.
不过,我的挫败感是,我花了很多时间来修复测试中的错误,而不是修复我的生产测试中的任何错误.
我的典型工作流程最终会是这样的:
如果你考虑一下,这有点令人期待:单元测试涉及手动产生输出,因此容易出错; 用严格的语言和良好的编码实践编写的代码具有非常自动指定的行为.
当然,有些奇怪的时候,我的生产代码是测试失败的真正原因,但它确实相当罕见.
当然,没有理由完全取消单元测试; 有时我完全不相信自己的代码.另一方面,我开始觉得它并不是那么有价值 - 特别是测试第一哲学.
其他人都有这种感觉吗?
.NET Framework中的哪些类实现了各种设计模式,如装饰器,工厂等?
我想删除这个节点,例如:
<Sample ID="544" Type="0">Sample2</Sample>
从这个XML,例如:
<Tests> <Test ID="0" AllowMultipleSelect="1">
<Name>BaseSamples</Name>
<Sample ID="546" Type="0">Sample1 </Sample>
<Sample ID="135" Type="0">Sample45</Sample>
<Sample ID="544" Type="0">Sample2</Sample>
<Sample ID="5818" Type="0" >Sample78</Sample>
</Test>
</Tests>
Run Code Online (Sandbox Code Playgroud)
所以我的结果是这样的:
<Tests> <Test ID="0" AllowMultipleSelect="1">
<Name>BaseSamples</Name>
<Sample ID="546" Type="0">Sample1 </Sample>
<Sample ID="135" Type="0">Sample45</Sample>
<Sample ID="5818" Type="0" >Sample78</Sample>
</Test>
</Tests>
Run Code Online (Sandbox Code Playgroud)
我可以一次删除任何一个节点(因为我放了一个循环来检查需要删除的样本ID)任何帮助将不胜感激,提前感谢.
我需要获取在我的局域网中登录特定机器的用户名.建议我通过在C#.net windows应用程序中传递机器名来获取用户名的最佳方法.还要考虑许可.
谢谢
如果objectatIndex有任何值,我如何检查数组?即时通讯使用forloop
for (i = 0; i < 6 ; i++)
{
if ([array objectAtIndex: i] == NULL)//This doesnt work.
{
NSLog(@"array objectAtIndex has no data");
}
}
Run Code Online (Sandbox Code Playgroud) .net ×3
c# ×2
c ×1
c#-2.0 ×1
distribution ×1
idisposable ×1
iphone ×1
java ×1
javascript ×1
macos ×1
pointers ×1
reflection ×1
removechild ×1
ruby ×1
shoes ×1
tdd ×1
transactions ×1
unit-testing ×1
winforms ×1
xml ×1