有很多网站教人们如何构建更好的软件,但为什么很少有网站真正提供我们(作为程序员)应该创建的域的详细描述?在不同类型的系统中出现共同需求模式之前,人们只能构建如此多的库存,会计和ERP系统.从逻辑上讲,如果程序员花费大量时间尝试在他们的架构中创建可重用的组件,这是否意味着他们应该有一些可重用的"蓝图"来描述他们应该创建的系统?换句话说,软件开发的焦点似乎过于关注"如何"
所以我的问题是:是否已完成任何工作,将所有不同类型的系统规范编入一个地方,所有这些都在一个站点上?如果在项目开始时缺乏适当的要求是软件开发的祸根之一,那么能够从已经编写的相同类型的先前系统中"重用"需求规范是否更有意义?
Mono已被移植到iPhone了吗?我喜欢为iPhone编写.NET应用程序,而且学习Objective C对我来说不是一个选择.
是否有任何现有的编程语言明确地将依赖注入作为语言特性,如果是这样,是否有任何示例说明这些编程语言如何使用它们的语法将程序依赖性与其具体实现分开?
(请注意:我不是在寻找DI/IOC框架 - 我实际上正在寻找一种实际上已在该语言中内置此功能的编程语言).
如果我有一个类声明为:
public class MyPersistentClass
{
public int ID { get; set; }
public Stream MyData {get;set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用NHibernate的映射将MyData属性保存到数据库和从数据库中保存?
我一直在查看CLR Profiling API的一些文章,其中许多文章都讨论了调用SetILFunctionBody()来进行实际的IL重写; 但是,这些文章中没有一个实际上解释了您可以用来重写实际方法IL字节的确切内容.是否有一个非托管的库可以让我写IL,还是我必须自己写一个?
我设法使用ILMerge将我项目中的所有程序集合并到一个程序集中,但问题是似乎没有办法签署合并的程序集.
是否有某种命令行选项或命令可以运行,这可以让我为ILMerge生成的合并程序集添加强名称?
除了调用命令行为程序集添加强名称之外,是否有任何API允许您在删除其强名称后重新签名程序集?
是否有任何实证研究表明重构(或缺乏重构)对开发团队的生产力的影响?
(注意:我只是在寻找经验数据 - 根据我自己的经验,我个人知道重构有效,但我想知道是否有一些硬数据支持这种说法).
除了C#,VB.NET,C++(Managed和C++/CLI)和F#之外,哪些.NET编程语言都有自己的CodeDom提供程序?
根据CLR的GenericParamConstraint表的Partition II元数据规范,
GenericParamConstraint表记录每个泛型参数的约束.可以约束每个通用参数以从零或一个类派生.可以约束每个通用参数以实现零个或多个接口.
问题是我似乎找不到正确的C#代码片段让C#编译器在GenericParamConstraint表中生成一行.我试过用
public interface IFoo
{
}
public interface IBaz
{
}
public interface IBar
{
}
public class Foo
{
}
public class SampleClassWithGenericParamConstraint<T>
where T : IFoo, IBaz, new()
{
public void DoSomething<U>(U arg1)
where U : struct
{
}
}
class Program
{
static void Main(string[] args)
{
}
}
Run Code Online (Sandbox Code Playgroud)
..但问题是C#编译器只为GenericParam表生成行,而不是为GenericParamConstraint表添加行.所以这是我的问题 - 是否有任何用C#编写的代码示例会强制C#编译器将元数据行添加到GenericParamConstraint表中,以便我可以使用示例二进制文件?如果这是对C#编译器的某种限制,那么是否有一个等效的ILASM代码片段可以完成这项工作呢?
是否可以通过读取给定方法的字节码来确定所有可能的执行路径,还是等同于尝试解决暂停问题?如果它不能简化为停止问题,那么在不跨越试图解决停止问题的界限的情况下,我可以在多大程度上进行静态分析?
.net ×8
cil ×3
clr ×2
strongname ×2
.net-4.0 ×1
binary-data ×1
blobs ×1
build ×1
bytecode ×1
case-study ×1
codedom ×1
ilmerge ×1
iphone ×1
metadata ×1
mono ×1
nant ×1
nhibernate ×1
process ×1
profiling ×1
refactoring ×1
requirements ×1
rewriting ×1
signing ×1
stream ×1