我们使用域事件模式并依靠我们的IoC容器来定位特定类型事件的处理程序:
public interface IHandleEvent<TEvent> where TEvent : IEvent
{
void Handle(TEvent evnt);
}
Run Code Online (Sandbox Code Playgroud)
使用StructureMap,我们可以扫描并注册实现上述接口的所有类型,如下所示:
Scan(cfg =>
{
cfg.TheCallingAssembly();
cfg.ConnectImplementationsToTypesClosing(typeof(IHandleEvent<>));
});
Run Code Online (Sandbox Code Playgroud)
是否与Ninject相当?
目前我必须单独绑定每个处理程序,如下所示:
kernel.Bind<IHandleEvent<SomeEvent>>().To<EventHandler1>();
kernel.Bind<IHandleEvent<SomeEvent>>().To<EventHandler2>();
kernel.Bind<IHandleEvent<SomeOtherEvent>>().To<EventHandler3>();
Run Code Online (Sandbox Code Playgroud) 虽然打开的应用程序越少,我就无法使用DreamWeaver CS6保存我的.less文件.
我得到一个弹出窗口,上面显示以下消息:
http://nsa32.casimages.com/img/2013/01/31/130131035942448479.png
*访问www [...] css/style.less已被拒绝.
我尝试用vim编辑文件,一切顺利.
有人已经有这个错误吗?
我在 eclipse 中有一个项目,当我单击“运行”时,它在 ide 中运行得很好,但我需要将其导出到可运行的 jar 文件中,该文件也可以正常运行。但是当我尝试运行它时,它会抛出异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
at javax.media.j3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:321)
at java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:207)
at com.sun.j3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:228)
at com.sun.j3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:178)
at mainproject.MainPanel.<init>(MainPanel.java:72)
at mainproject.MainWindow.<init>(MainWindow.java:42)
at mainproject.MainWindow.main(MainWindow.java:23)
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索了两天了,有很多结果,但没有任何帮助。我通过转到导出它file->export->java->Runnable jar file->i bubble extract required libraries into generated jar,选择正确的配置,将文件保存在指定的文件夹中,然后保存就可以了。或者至少我是这么认为的。转到java.library.path,jre lib folder但是当我在 eclipse 中运行它时,它转到 j3d 的 .so ,我尝试使用更改它System.setProperty但没有成功。我有一种感觉,这就是问题所在,但当我尝试解决它时,什么也没发生。我正在使用最新的java3d library (1.5.2 I believe) …
我正在尝试重现Firefox或Safari的搜索字段或stackoverflow.com此页面右上角的搜索字段的行为.
我的意思是,当可编辑时没有文本时JComboBox,会显示指令文本,如"Type here"或者其他.当JComboBox聚焦时,文本被删除.如果在没有输入文本的情况下丢失焦点,则返回指令文本.
我只是讨论了关于模拟和依赖注入的问题和博客.得出结论我只需要模拟客户端使用的接口.我期待在这里测试一个简单的用例,不知道.
合约
public Interface IApplicationService
{
bool DeleteApplication(int id);
ApplicationDto AddApplication(ApplicationDto application);
IEnumerable<ApplicationDto> GetApplications();
}
Run Code Online (Sandbox Code Playgroud)
实施(我要去模拟)
public Class ApplicationService:IApplicationService
{
private EntityFrameworkRepo repo;
public ApplicationService()
{
repo = new EntityFrameworkRepo();
}
public ApplicationDto Add(ApplicationDto dto)
{
//add to dbcontext and commit
}
}
Run Code Online (Sandbox Code Playgroud)
模拟代码
[Test(Description = "Test If can successfully add application")]
public void CanAddApplication()
{
//create a mock application service
var applicationService = new Mock<IApplicationService>();
//create a mock Application Service to be used by business logic
var applicationDto = …Run Code Online (Sandbox Code Playgroud) 我想创建一个调用其他验证属性的自定义验证属性。
例如,我想创建一个名为PasswordValidationAttribute. 我希望它装饰它被限定在与所述属性RequiredAttribute,RegularExpressionAttribute和StringLengthAttribute具有限定(诸如密码和一个最大和最小字符串长度的正则表达式)的各种参数。
我正在努力从哪里开始,确定涉及多少工作并确定它是否可能。一旦将此属性应用于属性,我希望它ValidationMessageFor HtmlHelper正确处理并执行服务器端调用。我希望我不需要重新定义它们(否则工作量太大)。
我是编程新手,准确地说是 11 个月。我真的很想成为一名专业程序员并编写高质量的代码,所以我正在学习干净的代码、SOLID 原则和 OOP 设计。我注意到,设计遵循干净代码和可靠代码的代码比不遵循这些代码要花时间。
这是我的第一个付费项目,我真的很想编写高质量的代码。我意识到,我花了几天时间才编写了应用程序中遵循干净代码和 SOLID 的一些组件,而如果不遵循干净代码,则只需不到一天的时间。
我认为如果我继续应用干净的代码,我将无法达到截止日期,但我必须这样做,因为我知道业务会增长并且需求会发生变化。我正在开发一个海滩度假村计费和预订系统,我知道将来它需要处理在线预订。
我可以说学习 ORM、WCF 等新技术很容易,但干净的代码、SOLID 和设计模式是不同的。
我是一名初学者程序员,您对我有什么建议,学习这种模式需要多长时间,应用干净的代码和 SOLID 是否比不应用这些代码需要更多的时间来开发应用程序?
使用ninject,我知道我可以绑定到某个实现,这样当我这样做时:
ISomeCache myCache = Ninject.Get<ISomeCache>();
Run Code Online (Sandbox Code Playgroud)
它将加载我绑定ninject的具体实现.
假设我在数据库(Web应用程序)中存储了我想要使用的具体实现,当我在管理面板中更改它时,它应该使用我想要的类.
这可能吗?
我有以下课程:
public class Order
{
public Order()
{
Items = new ObservableCollection<OrderItem>();
}
public string Code { get; set; }
public ICollection<OrderItem> Items { get; set; }
}
public class OrderItem
{
public OrderItem()
{
SubItems = new ObservableCollection<SubItem>();
}
public decimal Quantity { get; set; }
public decimal Price { get; set; }
public ICollection<SubItem> SubItems { get; set; }
}
public class SubItem
{
public DateTime Date { get; set; }
public decimal Quantity { get; set; } …Run Code Online (Sandbox Code Playgroud) 我只需要打印datagrid记录.我使用了这样的一个代码,但是这个也打印了数据网格滚动条.我只需要记录.
PrintDialog printDlg = new PrintDialog();
printDlg.PrintVisual(grid1, "Grid Printing.");
Run Code Online (Sandbox Code Playgroud) c# ×5
ninject ×3
java ×2
asp.net ×1
asp.net-mvc ×1
coding-style ×1
css ×1
datagrid ×1
dreamweaver ×1
eclipse ×1
exception ×1
java-3d ×1
jcombobox ×1
less ×1
linq ×1
macos ×1
moq ×1
nunit ×1
swing ×1
unit-testing ×1
validation ×1
wpf ×1