Just curious about the best practices for Rails in where I put a custom constraints class that's used as a constraint in config/routes.rb. Seems like Rails.root/lib is where all user classes go. Is that appropriate for this? Should I be creating a directory inside for constraints? 2 empty directories exist there now, assets and tasks. Are there conventions for this?
ruby-on-rails naming-conventions convention-over-configur ruby-on-rails-3 ruby-on-rails-3.2
我是ASP.NET MVC的新手,到目前为止平台的清晰度给我留下了非常深刻的印象.但是,有一个方面我觉得不舒服.
起初,当我说时,我接受了这个事实
return View();
Run Code Online (Sandbox Code Playgroud)
我正在调用一个返回ActionResult的辅助方法,并对要呈现的视图,路由值等做出一些假设.但是最近我一直在编写看起来更像这样的代码:
return View("Index", new { id = myID })
Run Code Online (Sandbox Code Playgroud)
因为通过阅读单行代码,我立刻就能清楚地知道发生了什么.
最近我一直在努力解决这个问题,即我可以Index.ASPX在选项卡上打开一个视图,但我无法立即知道它来自何处,因为IDE没有突出显示对象资源管理器中的当前选项卡.我没有使用更改文件的名称ControllerNameIndex.ASPX,但我确实在视图中添加了一个更具体的标题.尽管如此,它并没有多大帮助.
你如何处理这些含糊不清的问题?
我知道一些DI框架支持这个(例如Ninject),但我特别想知道它是否可以用于Autofac.
我希望能够向Autofac容器询问具体类,并返回一个注入了所有适当的构造函数依赖项的实例,而无需注册该具体类.也就是说,如果我从未明确地绑定它,那么就自动将具体类绑定到自身,就好像我已经调用了一样builder.Register<MyClass>();
一个很有用的例子是ViewModels.在MVVM中,分层是这样的,只有View依赖于ViewModel,并且通过松散键入,并且您不会对View进行单元测试.因此,无需为测试模拟ViewModel - 因此没有理由为每个ViewModel创建一个接口.因此,在这种情况下,通常的"注册此接口以解析此类"的DI模式是不必要的复杂性.明确的自我约束,builder.Register<MyClass>();在处理像具体类一样简单的事情时,也感觉像是一个不必要的步骤.
我知道Autofac文档中基于反射的注册示例,但这也不符合我的口味.我不希望提前注册每个可能的课程的复杂性(和缓慢); 我希望框架能够在需要时为我提供所需的内容.约定超过配置,以及所有这些.
有没有办法配置Autofac所以它可以说"哦,这是一个具体的类型,没有人注册它,所以我只是表现就像它已经注册了默认设置"?
是否有一个产品/项目允许您定义惯例,例如MVC项目静态检查命名约定,如Controller附加在继承自控制器的类的末尾,和/或在装饰方法时强制执行某个方法签名一个属性.
我基本上正在寻找一种方法来为我们团队中的新开发人员设置一些护栏,我们有一套明确的约定,其中一些用于通过反射动态连接.看到这种反射线会因为不兼容的签名而失败,这对我们的加速过程来说是一个巨大的好处.
主要特点需要:
任何输入建议都表示赞赏,但我要求您只有在知道这些功能受支持时才会回复.
c# vb.net visual-studio-2010 convention-over-configur visual-studio
如果没有的东西,每个人都讨厌约Magento的它能够写一些代码之前无休止真实配置的模块.我正在尝试为将来即将启动的项目收集常见的Magento配置错误列表.
我正在寻找在类名上使用错误的命名约定,<class />在设置分组类名时忘记包装器的具体示例.像你这样的小事会让你吵吵几个小时直到你意识到你的错误.
越多细节越好!
Rails中有一个约定将Sweeper类放在特定的目录位置吗?
更新:由于观察者被投入app/models,我认为清扫工具没有什么不同,只要名称总是以"清扫工"结束.
我有很多端点注释@WebService(targetNamespace = "mynamespace").每一个@WebResult与@WebParam具有相同的定义targetNamespace = "mynamespace".
有没有办法将JAX-WS(Metro实现)配置"mynamespace"为默认用作targetNamespace?
我想使用没有任何属性的注释,并删除重复的声明,就像约定优于配置.
在Web开发中,"约定优于配置"范例有哪些好处?是否存在坚持下去的情况没有意义?
谢谢
我正在玩Sharp Architecture Lite,它强调约定优于配置,并试图理解NHibernate的ConventionModelMapper工作原理.具体来说,我无法区分下面的IsRootEntity和IsEntity方法(BTW,Entity是Sharp Arch附带的抽象类):
internal static class Conventions
{
public static void WithConventions(this ConventionModelMapper mapper, Configuration configuration) {
Type baseEntityType = typeof(Entity);
mapper.IsEntity((type, declared) => IsEntity(type));
mapper.IsRootEntity((type, declared) => baseEntityType.Equals(type.BaseType));
public static bool IsEntity(Type type) {
return typeof(Entity).IsAssignableFrom(type)
&& typeof(Entity) != type
&& !type.IsInterface;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道该IsEntity方法用于告诉NHibernate哪些类符合数据库的映射/持久性.但是,我不能为我的生活弄清楚IsRootEntity方法的作用.周围的文档ConventionModelMapper非常稀少.
nhibernate nhibernate-mapping convention-over-configur sharp-architecture
除了将CLR类自动映射到EDM模型之外,该类还有什么优点或用例ODataConventionModelBuilder?
它消除了哪些特定的痛苦?如果可能,带有示例代码。
ado.net-entity-data-model convention-over-configur odata c#-4.0
c# ×2
asp.net-mvc ×1
autofac ×1
c#-4.0 ×1
convention ×1
jax-ws ×1
magento ×1
nhibernate ×1
odata ×1
paradigms ×1
php ×1
vb.net ×1