这些软件体系结构在哪些领域发挥作用或失败?
哪些关键要求会促使您选择一个而不是另一个?
请假设您有开发人员可以执行良好的面向对象代码以及良好的数据库开发.
另外,请避免神圣的战争:)这三种技术都有利有弊,我对哪种方式最适合使用感兴趣.
language-agnostic architecture orm code-generation stored-procedures
快速提问,寻找一些建议.我有一个站点,它将从数据库请求数据并在表中显示回用户.我正在使用jQuery(AJAX),php和MySQL.
哪里是生成的HTML表格来显示数据的最佳场所:应在PHP生成并发送整个事情(HTML +数据)从服务器返回的,还是应该由PHP刚刚发回的数据,以及jQuery的代码制作表并插入数据?
虽然这是在内联网上运行,但我仍然更喜欢最快速的方法.
更新:
我想为这个主题添加一些额外的信息,以防它对其他人有用.我完全同意这里提出的分离想法,并将其作为我的设计方法.我使用PHP检索并将所需数据组织成JSON,然后使用jQuery生成HTML以显示返回的信息.在这种情况下,我使用jQuery创建了一个电子表格样式表格,并填充了具有从PHP返回的值的"单元格".有一些行和列,事情运行正常,但正如我增加说,一个16 x 16表,用jQuery动态创建输入元素...
在这一点上,我再一次遇到了丑恶的幽灵,即IE6.
IE6仍然是我工作的批准浏览器,所以我的应用程序必须在它上面运行.当我在Firefox和Opera上测试我的设计时,界面加载速度很快,很高兴使用.当我在IE6中运行相同的代码时,生成接口需要太长时间; 足够长的时间,我的用户会再次开始点击,认为应用程序没有响应.我只能将其归结为IE6中的JavaScript引擎,因为代码在较新的浏览器中运行良好.所以,正因为如此,我又重新设计了部分接口,让PHP至少生成内部表格元素,填充数据,然后将其发送回客户端.它打破了我想要的漂亮分离,但我没有看到任何其他方法来加速IE6中的客户端.
无论如何,只是认为其他人可能对这里的结果感兴趣,对于像我这样的其他初学者,有多少浏览器支持要求会影响设计选择.
有谁知道在eclipse中自动生成Java源代码的方法,例如xml或json文件?
我正在考虑做的一个很好的例子是Google Android sdk所做的事情:他们有一个从资源自动生成的R类.
每次在Eclipse中保存资源文件时,R类都会自动重新生成.
更新:示例:在文本(xml或json文件)中,我有以下内容:
<tags>
<tag id="ALPHA">
<description>The first alpha tag.</description>
<value>231232</value>
</tag>
<tag id="BETA">
<description>This is the beta tag.</description>
<value>231232</value>
</tag>
Run Code Online (Sandbox Code Playgroud)
然后在我生成的java类中,说RI会有类似的东西:
R.tags.ids.ALPHA //refers to an enum value for example
R.tags.values.ALPHA //refers to final int with avlue 231232
R.tags.descriptions.ALPHA //refers to the String with description
Run Code Online (Sandbox Code Playgroud)
谢谢!
很长一段时间以来,我一直在使用pygccxml来解析和内省我的C++源代码:它帮助我在构建过程中做了一些聪明的代码生成.
最近我读了很多关于LLVM堆栈的好处,特别是LLVM Clang解析器给C++编译带来的好处.我现在想知道Clang是否有任何Python接口,以便我可以将它作为我现有代码生成任务的基础?
我有一个案例,我需要生成两个CSharp代码文件具有相同的代码但不同的方法的输入和输出类型的命名空间.实际上,每个文件都针对特定国家/地区,而且类型来自特定国家/地区的WSDL.
我正在围绕服务编写一些包装器,逻辑完全相同,但是从WSDL自动生成的类型是不同的.我怎样才能减少编码工作量并在一个地方编写逻辑并为两组不同类型生成逻辑?
我正在寻找像这样的功能
public bool IsAReservedWord(string TestWord)
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过从MSDN获取一个保留单词列表来自己动手.但是我希望有一些内置于语言或.NET反射中的内容可以依赖,所以当我转移到更新版本的C#/ .NET时,我不必重新访问该函数.
我正在寻找这个的原因是我正在寻找.tt文件代码生成的安全措施.
我已经使用了MyGeneration,我喜欢它来生成使用Microsoft的数据访问应用程序块为我的数据访问层创建的代码,并保持我的数据库概念与我正在建模的域同步.尽管如此,一个周末的学习曲线比预期更陡峭,以使其富有成效.
我想知道其他人正在做什么与代码生成有关.
http://www.mygenerationsoftware.com
http://www.codesmithtools.com/
其他?
早在2000年左右,我工作的公司就使用Veritas Software的产品(我相信它)来模拟组件并生成集成组件(dll)的代码.我没有获得很多经验,但似乎代码生成长期以来一直是"圣杯".这是实用的吗?其他人如何使用它?
谢谢!
我一直在使用xsd.exe生成一个用于反序列化XML的类.我在源xsd中有十进制值,不需要:
<xs:attribute name="Balance" type="xs:decimal" use="optional" />
Run Code Online (Sandbox Code Playgroud)
xsd生成的类生成以下代码:
private decimal balanceField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal Balance {
get {
return this.balanceField;
}
set {
this.balanceField = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我注意到它不是可空的.
我如何将字段生成为可为空的字段,如下所示:
private decimal? balanceField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal? Balance {
get {
return this.balanceField;
}
set {
this.balanceField = value;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在考虑通过gcc查看为原子操作生成的一些程序集.我尝试了以下短序列:
int x1;
int x2;
int foo;
void test()
{
__atomic_store_n( &x1, 1, __ATOMIC_SEQ_CST );
if( __atomic_load_n( &x2 ,__ATOMIC_SEQ_CST ))
return;
foo = 4;
}
Run Code Online (Sandbox Code Playgroud)
看看Herb Sutter关于代码生成的原子武器谈话,他提到X86手册要求xchg用于原子存储和简单mov的原子读取.所以我期待的是:
test():
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $1, %eax
xchg %eax, x1(%rip)
movl x2(%rip), %eax
testl %eax, %eax
setne %al
testb %al, %al
je .L2
jmp .L1
.L2:
movl $4, foo(%rip)
.L1:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
Run Code Online (Sandbox Code Playgroud)
由于锁定 …