我想知道工厂模式是否存在相反的模式.例如,当需要删除某个对象时,需要完成一些额外的工作,以撤消在工厂对象中执行的配置.
例如,使用Delete方法扩展工厂对象似乎是错误的,因为工厂模式是严格的创建模式.
更新:我使用工厂的原因是因为需要完成的配置会在对象中引入一些不适合的依赖项.将此解除配置放在构造函数中会产生同样的问题.
我在想 - 比如说,你需要花费数千个工时,想出最先进的CMS或其他东西.你如何确保从你那里得到它的人不会盗版它?我可以坚持要求买方给我他们的URL并将其哈希并将其用作软件中各处的校验和,但这听起来像是一种较弱的安全形式.
还有其他方法吗?一个可能是让客户在提供任何页面之前向我的服务器发送POST进行身份验证,但这听起来不公平.
(当然,我可以坚持自己托管软件..)
我一直在研究标准的 Dispose 模式,我只是想知道我需要写什么来释放托管资源?如果这些资源已经“管理”了,那么我肯定不需要做任何事情。
如果是这种情况,并且我的类不包含任何非托管资源(因此不需要由 GC 完成),那么我是否只需要在我的 Dispose 方法中取消完成?:-
public void Dispose()
{
GC.SuppressFinalize(this);
}
Run Code Online (Sandbox Code Playgroud)
所以假设这是我的课程:
public sealed class MyClass : IDisposable
{
IList<MyObject> objects; // MyObject doesn't hold any unmanaged resource
private bool _disposed;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (!_disposed)
{
// do I need to set the list to null and
// call Dispose on each item in the list?
if (disposing)
{
foreach (var o in objects)
o.Dispose();
objects = …Run Code Online (Sandbox Code Playgroud) 我想知道有没有办法防止enum重复键编译?
例如,enum下面将编译
public enum EDuplicates
{
Unique,
Duplicate = 0,
Keys = 1,
Compilation = 1
}
Run Code Online (Sandbox Code Playgroud)
虽然这段代码
Console.WriteLine(EDuplicates.Unique);
Console.WriteLine(EDuplicates.Duplicate);
Console.WriteLine(EDuplicates.Keys);
Console.WriteLine(EDuplicates.Compilation);
Run Code Online (Sandbox Code Playgroud)
会打印
Duplicate
Duplicate
Keys
Keys
Run Code Online (Sandbox Code Playgroud) 我目前使用Amazon S3作为本地计算机的备份位置 - 主要使用JungleDisk将我的所有本地文件每晚备份到我的S3帐户.
我一直在寻找为远程文件创建更智能的备份解决方案 - Windows和Linux机器上的网站,以及SQL Server和MySQL数据库.
我一直在思考创建一个可以作为我的远程备份机器在云中运行的Amazon EC2实例的想法 - 理想情况下,某种脚本或计划会触发机器启动,当它发生时,它会执行各种各样的用于连接和备份我的Web服务器的工具或脚本,支持我的Amazon S3帐户的所有内容.希望在完成时可以将实例编程为关闭以节省执行时间.
我在做梦吗?这有可能吗?谁能指出我正确的方向?
谢谢,
GW
我将在Windows应用程序中放置一个不显眼的广告块.我希望广告看起来像Google AdSense文本块.但遗憾的是,Google AdSense政策不允许在Windows应用中使用广告.
您是否知道允许在计算机程序中投放广告的类似广告网络?该应用程序是美国市场的主要目标.
.NET中有一些属性(例如ObsoleteAttribute),它们能够阻止编译或至少抛出编译时警告,具体取决于它们的配置.
如何编写能够干扰编译的属性?有没有办法从微软以外的地方做到这一点?
在Windows中,我如何使用脚本/命令的输出作为另一个脚本的参数?(管道|在这里不起作用,因为其他脚本不能从标准输入读取)
太澄清了:我有一个需要参数arg的AnotherScript,例如:
AnotherScript 12
Run Code Online (Sandbox Code Playgroud)
现在我希望参数(示例中的12)来自脚本的输出,称之为ScriptB.所以我想要一些类似的东西
AnotherScript (ScriptB)
Run Code Online (Sandbox Code Playgroud)
AnotherScript实际上是一个需要参数的python脚本,而ScriptB是一个产生一些数字的cygwin bash脚本,所以我想使用它的方式如下:
c:\Python26\python.exe AnotherScript (c:\cygwin|bin|bash --login -i ./ScriptB)
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.但是,考虑到需要费力的'for'构造,我已经重写了AnotherScript以从标准输入中读取.这似乎是一个更好的解决方案.
我正在寻找这个定义,以使我的HTML渲染器更好地符合.目前它正在猜测要保留哪些空白,哪些要崩溃以及要扔掉什么.很难找到SGML标准,并且HTML标准似乎没有根据我的需要处理具有所需深度的主题.
目前,我的渲染器将HTML解析为树,然后执行递归布局传递以定位所有元素及其内容.我正在尝试在解析阶段抛出一些空格,即在某些情况下不会仅发出空白文本块.哪种方式适用于大多数情况,但有一些公平的边缘情况正在变得难以处理.
(我也正在研究HTML控件的编辑器子类,并且布局时间解决方案在编辑器中被证明是有点问题,因此我正在努力将它们放入解析阶段.布局信息在重排之前不可用时间,这是您编辑文档后的一段时间.)
用链接/火焰射击.