随着我们的依赖注入框架(春季注释)的最新成员,创建DI管理组件的边际成本似乎已达到一个关键的新门槛.虽然之前有一个与spring相关的开销(大量的XML和额外的间接性),依赖注入似乎已经开始进入许多模式的地方; 他们陷入困境并"消失".
其结果是与大量组件相关的概念开销变得可接受.有争议的是,我们可以创建一个系统,其中大多数类只暴露一个单一的公共方法,并通过像疯狂一样聚合这些部分来构建整个系统.在我们的例子中,给出了一些东西; 应用程序的用户界面具有一些功能要求,可以塑造最顶层的服务.后端系统控制下半部分.但在这两者之间,一切都在争夺中.
我们不断的讨论真的,我们为什么要分组东西类以及应该怎样的原则?有几件事是肯定的; 门面图案已经死亡并被埋葬.任何包含多个不相关功能的服务也往往会被拆分."无关特征"的解释比我之前所做的更为严格.
在我们的团队中,有两种流行的思路:实现依赖性限制分组; 单个类中的任何功能最好应该是所有注入依赖项的客户端.我们是一个DDD项目,另一个部分认为域限制分组(CustomerService或更细粒度的CustomerProductService,CustomerOrderService) - 注入依赖项的规范化使用并不重要.
那么在松散耦合的DI宇宙中,为什么我们要在类中对逻辑进行分组?
编辑:duffymo指出,这可能正朝着功能性的编程方式发展; 这带来了国家问题.我们有很多"状态"对象代表(小)相关应用程序状态.我们将这些注入任何对此状态有合法需求的服务.(我们使用"状态"对象而不是常规域对象的原因是spring在未指定的时间构造它们.我将此视为一种轻微的解决方法或替代解决方案,让spring管理域对象的实际创建.可能有更好的解决方案这里).
因此,例如任何需要OrderSystemAccessControlState的服务都可以注入这个,并且消费者不容易知道这些数据的范围.一些安全相关状态通常用于许多不同的级别,但在中间的级别上完全不可见.我真的认为这从根本上违背了功能原则.我甚至很难从OO角度调整这个概念 - 但只要注入状态是精确且强类型,那么需要是合法的,即用例是正确的.
通常我以前做的是将文件拖放到GAC文件夹中.
这适用于Windows 2000和2003,但是当我尝试在Windows Server 2008中执行此操作时,我得到"访问被拒绝".
执行此操作的用户是本地管理员.
我能找到的唯一参考是: 论坛链接
还有另一种方法来实现这一目标吗?
注意:我尝试以管理员身份运行资源管理器,但是我收到同样的错误.
编辑:理想情况下,无论什么解决方案都不应该关闭UAC,或安装任何软件开发工具包.(因此它可以应用于生产服务器).
编辑:有没有人对此有任何想法?我目前已经开始禁用开发中的UAC,但这在现场是不可接受的.
我正在尝试在 SQL Server BID 中打开受密码保护的包,每次输入正确的密码时,我都会收到以下错误消息:
Failed to remove package protection with error 0x80131940 "(null)"
这发生在CPaqckage::LoadFromXML
方法中。
有任何想法吗?
我有一个Direct3D 9应用程序,我想监视内存使用情况.有没有工具可以知道Direct3D使用了多少系统和视频内存?理想情况下,它还会报告为纹理,顶点缓冲区,索引缓冲区分配了多少......
有没有人建议在<li>
包含悬停弹出伪类的标签中创建段落类型的行空间?
我<span>
弹出一个弹出a:hover
的文件,我希望弹出的文本分为两段.它适用<br>
于FF,但我想做正确的事(现在我发现它是错的!)......
HTML:
<div id="rightlist">
<ul>
<li><a href="">List item
<span>
words words words that are "paragraph" 1 of List item
<br><br>
different words that make up "paragraph" 2 of List item
</span></a></li>
Run Code Online (Sandbox Code Playgroud)
CSS:
#rightlist {
margin-top: 10px; margin-right: 5px; width: 387px ; height: 239px ;
background-color: #7EBB11 ;
display: table-cell;
z-index: 100 ;
float: right ;
}
#rightlist ul {
text-align: left;
margin: 0;
margin-top: 6px;
font-family: sans-serif;
font-size: 20px ;
color: …
Run Code Online (Sandbox Code Playgroud) 我有一个创建一些XmlDocument的函数:
public string CreateOutputXmlString(ICollection<Field> fields)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = Encoding.GetEncoding("windows-1250");
StringBuilder builder = new StringBuilder();
XmlWriter writer = XmlWriter.Create(builder, settings);
writer.WriteStartDocument();
writer.WriteStartElement("data");
foreach (Field field in fields)
{
writer.WriteStartElement("item");
writer.WriteAttributeString("name", field.Id);
writer.WriteAttributeString("value", field.Value);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.Flush();
writer.Close();
return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我设置了一个编码,但在我创建XmlWriter后,它确实有utf-16编码.我知道这是因为字符串(和我猜想的StringBuilder)是用utf-16编码的,你无法改变它.
那么如何在编码属性设置为"windows-1250"的情况下轻松创建此xml?它甚至不必在这种编码中编码,它只需具有指定的属性.
编辑:它必须在.Net 2.0中,因此不能使用任何新的框架元素.
我试图使用JSTL在我的JSP页面中显示当前日期.下面是我正在使用的代码.
<jsp:useBean id="now" class="java.util.Date" scope="request" />
<fmt:formatDate value="${now}" pattern="MM.dd.yyyy" />
Run Code Online (Sandbox Code Playgroud)
但上面的代码没有产生任何结果?我在这里遗漏了什么,或者有更好的方法吗?我正在使用JSTL 1.1.
我有一个RDLC报告,我在前端应用程序的Report Viewer Control上显示它.我能够完美地查看报告.
但是当我尝试将报告导出为PDF(使用内置选项)时会出现问题.
我打印报告3页,而我的客户希望它在一个页面.我无法弄清楚它的原因,因为在我的报告查看器中,我只看到一页,但在PDF中有3页.
可以做些什么来控制报告的大小吗?
我正在尝试使以下代码更小.这可能吗?
select a.*
from table1 a
WHERE a."cola1" = 'valuea1'
UNION ALL
select a.*
from tablea1 a
inner join tablea2 b on a."cola2" = b."colb2"
WHERE a."cola1" = 'valuea2'
and b."colb3" = 'valueb3'
Run Code Online (Sandbox Code Playgroud)
实际上我正在寻找table1中value1或value2的记录,但对于匹配value2的记录,我想应用1个额外的条件,它涉及到第二个表的连接这可以在没有UNION子句的情况下完成吗?
一个骨架或我正在尝试编码的是下面......但它不能自然地工作.
select a.*
from table1 a
inner join table2 b on a."cola1" = b."COLb1"
WHERE a."cola2" IN ('valuea1','valuea2')
and
CASE
WHEN a."cola2" = 'valuea2' THEN b."colb1" = 'valueb3'
ELSE 1=1
END CASE
Run Code Online (Sandbox Code Playgroud) .net ×1
assemblies ×1
c# ×1
case ×1
date ×1
direct3d ×1
encoding ×1
hover ×1
java ×1
join ×1
jsp ×1
jstl ×1
line-breaks ×1
list ×1
lowercase ×1
memory ×1
oracle ×1
pdf ×1
popup ×1
pseudo-class ×1
rdlc ×1
regex ×1
replace ×1
report ×1
sql ×1
sql-server ×1
syntax ×1
video-memory ×1
viewer ×1
windows ×1
xmlwriter ×1