如何在使用Delphi开始新项目时提高我们的生产力?
对于我来说,我创建一个模板项目,包括闪屏、默认组件和所有数据相关子例程(打开、关闭、查询、无法打开DB时的默认值等),并将模板保存在我的版本库中。(我在项目中使用自己的所有框架和单元,所以当我选择“新建项目”并选择我的模板时,一切都会自动创建。)
问题:
- 是否有其他方法可以通过Delphi提高可重用性?
- 您认为哪种免费开源框架(如Jedi)/ IDE插件(如GExpert)最适合使用Delphi?
如果此问题以前已经被问过,请原谅。
如何在使用Delphi开始新项目时提高我们的生产力?
对于我来说,我创建一个模板项目,包括闪屏、默认组件和所有数据相关子例程(打开、关闭、查询、无法打开DB时的默认值等),并将模板保存在我的版本库中。(我在项目中使用自己的所有框架和单元,所以当我选择“新建项目”并选择我的模板时,一切都会自动创建。)
问题:
如果此问题以前已经被问过,请原谅。
对于较大的应用程序,提高生产力的关键是在数据模块和数据库之上工作在更高的抽象层次。
数据库只有一小组类型。在您的领域中,您可能会有从域类型到数据库类型的默认映射。您还将为它们拥有验证器和格式化程序。 您将拥有默认报告、筛选器和搜索(窗口、面板、SQL查询)来处理您的领域实体。您将为它们拥有基于角色的访问控制。
看看领域驱动开发。
对于问题1:使用成熟的库来完成繁重的工作:DevExpress或TMS用于UI(JEDI的JVCL也非常好),FastReport用于报告。选择一个好的连接框架(取决于您的数据库后端),以便解决许多日常任务。此外,如果您熟悉OPF,请查看InstantObjects。我听说那很不错。
对于问题2:请参见cnpack.org的IDE增强功能。
此外,逐步构建自己的专业框架/工具集也会有所帮助。不要创建过大的东西,只需快速地完成一些任务。始终尝试设计可重用性,即使在开始时需要花费更长的时间。
确定您想要创建的应用程序的确切范围是一个很好的第一步。提高生产力几乎总是与专业化相关。通用工具只占生产力的极小百分比。如果我真的想提高生产力,我宁愿在我的工作领域中搜索(或制作)专门的框架。
我不使用GExperts或其他插件。我在生产力方面没有太大的好处(因为我可以在命令行上很好地进行grep),并且由于插件中的问题而导致的任何崩溃都是一个预处理。
当我询问类似“什么是最好的做法或使用方法”这样的问题时,版主们会迅速将其从网站上删除。
在我看来,您正确地使用了示例模板。同时@John Thomas也是正确的。但您可以更进一步:
TFrame
,并在主屏幕上保留一个位置来加载它们。仅当用户单击其菜单时,才在内存中创建此框架的对象。这样,您的系统变得更快,更节省内存;太棒了!
为了实现真正的可重用性,尽量以接口思考,并尽可能地将其黑盒化。模式无处不在,研究它们并付诸实践。
处理对象时,尽可能使用抽象或接口,而不是具体实现。但要小心不要走得太远。过多的抽象会增加复杂性,使调试更加困难。
包含业务规则的单元应该被 GUI 使用。包含业务规则的单元不应直接使用 GUI 单元。