当前位置:  开发笔记 > 编程语言 > 正文

是否应该使用类助手来开发新代码?

如何解决《是否应该使用类助手来开发新代码?》经验,为你挑选了3个好方法。

Delphi 8引入了类助手,用于将VCL/RTL映射到.NET对象层次结构.它们允许将方法注入到现有类中,而不会覆盖类或修改原始类.后来的Delphi版本发现了类帮助程序的改进,并将它们移植到Win32.

在帮助中,它说:"在开发新代码时,不应将它们视为一种设计工具."

班级助手违反了传统的OOP,但我认为这不会使他们成为一件坏事.这个警告是否合理?

在开发新代码时是否应该使用类助手?

在开发新代码时是否使用它们?

为什么或者为什么不?

Per Malcolm的评论:新代码意味着每日应用程序开发,你有一些第三方库,一些现有代码,然后是你正在编写的代码.



1> 小智..:

取决于"新代码"的含义.

它们与您新开发的类并不相关,所以在这种情况下,不,它们可能不应该被使用.

但即使在一个全新的项目中,您仍可能需要修改一个您无法以其他方式更改的现有类(vcl类,第三方类等).在这种情况下,当然,我会说继续.

他们本身并不邪恶.像大多数其他事情一样,您只需要了解它们如何工作并在适当的环境中使用它们.



2> Vegar..:

在将课程助手作为花哨代码的新工具之前,我认为您必须了解其中包含的限制.只能为一个类提供一个类助手.那么如果你为你的类提供类助手会发生什么,你的类派生出一个普通的类,其他一些类提供了一个类助手呢?

CodeGear引入了类助手作为"黑客"来防止破坏事物,而不是一个很酷的设计功能.在设计代码时,请在没有类助手的情况下进行设计.我知道你可以.处理您可以控制的现有代码时,请使用重构.如果没有其他办法,请到达班级助手.

多数民众赞成我的意见......



3> Lars Truijen..:

基于Microsoft的LINQ严重围绕其扩展方法.有鉴于此,如果改进了代码,你应该在新代码中使用Class Helpers.看看班主任的好用途是什么?一些好的用途.


.net扩展方法的限制方式与类助手的方式不同.你不建议在.net中使用扩展方法,如果所有的linq支持都会被它炸掉,是吗?每个类只能有一个类助手.如果你定义一个,它将破坏任何现有的.
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有