问题列表 - 第6168页

模板方法和策略模式有什么区别?

有人可以向我解释模板方法模式和策略模式之间的区别是什么?

据我所知,它们是99%相同 - 唯一的区别是模板方法模式有一个抽象类作为基类,而策略类使用由每个具体策略类实现的接口.

但是,就客户而言,它们的使用方式完全相同 - 这是正确的吗?

design-patterns strategy-pattern template-method-pattern

155
推荐指数
8
解决办法
6万
查看次数

XSLT基于输入XML的十进制格式

我有一种情况,我的XSLT文件应有条件地显示价格和小数,具体取决于输入XML是否包含小数.所以,我可以接收带有两种类型值的XML文件 - XML将包含格式化为小数的所有价格,最多两个位置(我称之为"Decimal-XML")或者价格将四舍五入到最接近的整数(我称之为一个"整数XML").

我的问题是我需要在XSLT文件中尽可能少地重构,然后允许它们以与XML输入相同的格式将转换应用于XHTML.为了实现这一目标,我向我的团队实施并提出了三条指导原则:

  1. format-number()在计算计算值或存储在变量中时,删除所有函数调用.请number(<value>)改用.但是,某些条件适用于此规则(见下文).
  2. 要显示该值时,请使用该format-number(<value>, '#.##')格式.这应该确保整数或十进制值将显示为最初存在于XML中.
  3. 对于可选标签(例如"折扣"),format-number(<value>, '0.00')即使仅计算该值,也要使用该功能.这是必要的,因为如果标签不存在,尝试获取值将得到NaN结果.

以下是XSLT的说明性示例:

  <x:stylesheet version="1.0" xmlns:x="http://www.w3.org/1999/XSL/Transform">
  <x:template match="/">
    <html>
      <body>
        <table border="1" width="60%">
          <tr>
            <th>Simple</th>
            <th>number()</th>
            <th>format-number(&lt;expression&gt;, '0.00')</th>
            <th>format-number(&lt;expression&gt;, '#.##')</th>
          </tr>
          <x:apply-templates />
        </table>
      </body>
    </html>
  </x:template>

  <x:template match="Item">
    <x:variable name="qty" select="number(@numItems)" />
    <x:variable name="cost" select="number(ItemCost) * $qty" />
    <x:variable name="extraCharges" select="(number(Tax) + number(TxnFee)) * $qty"/>
    <x:variable name="discount" select="format-number(Discount, '0.00') * $qty"/>
    <tr>
      <td>
      <!-- Works for Integer-XML, but values in Decimal-XML are
      *sometimes* …
Run Code Online (Sandbox Code Playgroud)

xml xslt formatting decimal xslt-1.0

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

理想的后台文件系统备份

我正在考虑一个可以在后台运行的脚本/程序,并尝试将给定的文件系统路径备份或同步到镜像位置(可能位于外部/单独的存储设备上)。

这应该适用于 Windows,但也可以在 Linux 下使用。

  • 差异/增量备份是一个额外的好处。
  • Windows 系统状态备份也是一个额外的好处。
  • 保持源头不含元数据至关重要。(与版本控制不同)
  • 按文件或活动日期搜索可能很有趣(例如版本控制)
  • 备份存储库应该易于浏览并且占用的空间很小。
  • 已删除的文件应该可以在一段时间内恢复。
  • Windows 备份繁琐、臃肿且有限。
  • Tar-gzip 无法访问。
  • 备份期间应该不存在用户交互。

linux windows filesystems backup background

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

Delphi - TClientDataset线程安全吗?

我有一个在线程1中管理的TClientDataset.

在另一个线程中,我有一个克隆的TClientDataset图像.

我会遇到线程问题吗?

编辑

克隆的图像以只读模式使用.

delphi tclientdataset

10
推荐指数
3
解决办法
2973
查看次数

什么是编程语言环境中的actor模型?

我已经在Erlang演员模型,Groovy演员,Scala演员模型等上下文中的几个地方看到过它.这是指什么?

programming-languages actor-model

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

UTF8,ISO-8859-x或7位ASCII和实体

您对XHTML和XML中的重音和特殊字符的编码有何看法?

  • 您是否将每个非US-ASCII字符转换为命名实体?
  • 您使用ISO-8859-x或Win-125x并对其他实体进行编码?
  • 或者你是否直接用UTF-8编写所有内容,而不用担心实体?

请详细说明哪个以及为什么.

xml xhtml

0
推荐指数
2
解决办法
931
查看次数

我可以安装多个Xcode版本吗?

是否可以同时安装多个版本的Xcode?

如果是这样,请发布任何提示,技巧或潜在问题,以备注意.

编辑:

我想安装多个版本的原因是尝试新的sdk beta,但如果新的Xcode有问题,我希望能够将旧版本用于我现有的项目.

macos xcode

170
推荐指数
7
解决办法
10万
查看次数

过滤Eclipse控制台输出文本的最简单方法

我问这与Flex Builder有关,但它可能适用于Eclipse.

Flex Builder中的跟踪语句将发送到Eclipse输出控制台.在Eclipse端过滤此文本的最简单方法是什么?

具体来说,我希望能够按模式过滤(忽略)行.

我遇到了Logback,但这种情况似乎有些过分.有没有办法编写像Eclipse这样的东西?

eclipse console flexbuilder filtering

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

不通过VPN连接到SQL Server

我第一次通过VPN连接到现有网络.我可以从VPN客户端ping SQL Server使用的IP地址,但SSMS不连接到SQL Server.我使用正确的登录ID和密码.

为什么会这样?有任何想法吗 ?

谢谢

vpn sql-server-2005

15
推荐指数
3
解决办法
11万
查看次数

编译失败:抛出异常还是不抛出异常?

我正在为CLR脚本编写.NET On-the-Fly编译器.并且陷入两难境地:在构建失败时抛出异常是否更好?

那么什么是最佳实践观点,哪种方法更合适?

try
{
  compiler.Compile(); // do not throws an exception only if build succeed
}
catch(CompilerException ex)
{
  string err = ex.Message;
}
Run Code Online (Sandbox Code Playgroud)

要么

compiler.Compile(); // throws an exception only in case of crash, etc
if(!compiler.BuildSucceed)
{
  string err = compiler.Output.ToString();
}
Run Code Online (Sandbox Code Playgroud)

.net architecture exception

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