就像德尔福编程而言,我是一名中级程序员,他有兴趣解除我的游戏。我需要听取专家的意见。
如果我准备使用Delphi 2010进行Win32应用程序项目,那么我需要精通的基本技能是什么(我会感谢一系列主题,这些主题既不太简短也不像TOC中那样详尽无遗。书)?您可以假设将使用Web服务读取和写入单独的数据库以及与其他系统组件的通信。我知道这一点,请忽略Unicode合规性。另外,使用Delphi进行“最佳实践”编程的互联网上是否有一个很好的来源,或者它总是一个“它取决于你想要做什么”的情况(即在这里询问个人问题)?感谢。
答案 0 :(得分:6)
首先建议阅读RTL / VCL代码的某些部分。与Classes.pas SysUtils.pas Graphics.pas Controls.pas
类似......在Delphi中编码时,这是 引用。代码的其他部分(如SOAP或FireMonkey)可能不是一个很好的参考资料...使用源代码,Luke!
一些主题,可能不是特定于Delphi编程,但我与团队实验和项目代码维护相关:
TComponent
个孩子); try .. finally
和try .. except
块保护您的代码(释放资源/内存+处理错误); < / LI>
答案 1 :(得分:4)
这不是'你想要做什么'的情况。 ;)
我不认为高级编程与特定知识有关,而是用正确的思维方式来解决问题并提出一个既可靠又可扩展的创造性解决方案。当然,你需要知识来构建它,或者至少能够在必要时自己获得知识,但作为一名(高级)程序员,我认为更多的是看到大局而不是具备特定的编程技能。
答案 2 :(得分:1)
使用界面!
它们比简单对象更安全,因为你不必释放它们,编译器通过使用引用计数来安排它们。
它们的缺点是两次输入相同的方法(在接口和类部分),但这也允许你在实现部分中隐藏类定义:
interface
type
IJob = interface(IInterface)
['{A925F829-60D6-4418-B03A-1655B311D8D9}']
procedure DoSomething;
end;
function CreateJob: IJob;
implementation
type
TJob = class(TInterfacedObject, IJob)
public
procedure DoSomething;
end;
function CreateJob: IJob;
begin
Result := TJob.Create;
end;
{ TJob }
procedure TJob.DoSomething;
begin
// do something
end;
请注意,此代码中没有“免费”,但它完全有效。