Class 重写旧类的命名约定?

Class 重写旧类的命名约定?,class,refactoring,naming-conventions,naming,legacy,Class,Refactoring,Naming Conventions,Naming,Legacy,在我的工作中,我最近不得不重写一个类的实现,以使其适应我们的新系统。然而,我需要保留旧的实现,因为它仍然在使用旧系统的其他地方使用 该类称为SecurityManager。现在,我正在创建一个新的类SecurityManager,它将执行相同的操作,但基于较新的表。我的问题是,我不知道这个新的叫什么 我该称之为: 新闻安全管理员 证券经理2 证券经理360 证券管理2000 证券经理23_09_2013 是否有任何命名约定曾经解决过这个问题,并提出了一些命名方案?最好不要更改类名,而是在旧类中添

在我的工作中,我最近不得不重写一个类的实现,以使其适应我们的新系统。然而,我需要保留旧的实现,因为它仍然在使用旧系统的其他地方使用

该类称为SecurityManager。现在,我正在创建一个新的类SecurityManager,它将执行相同的操作,但基于较新的表。我的问题是,我不知道这个新的叫什么

我该称之为:

新闻安全管理员 证券经理2 证券经理360 证券管理2000 证券经理23_09_2013
是否有任何命名约定曾经解决过这个问题,并提出了一些命名方案?

最好不要更改类名,而是在旧类中添加新接口。这使得增量工作变得更容易,您可以逐渐使旧方法调用新方法,并最终消失。然而,这并不总是可能的

另一种可能是花一些时间将旧类更改为OldSecurityManager或将其移动到OldSomething命名空间。通过这种方式,新类可以以稳定的方式安装,而不必担心一个丑陋的名字会永远伴随您,或者直到SecurityManager 3出现


组合解决方案是在新接口之前提供一个带有旧接口的代理-这也使增量工作成为可能,尤其是使用TDD时更安全。

将其称为SecurityManager,但将其置于不同的命名空间下?SecurityManager是列表中唯一一个很好的示例。NewSecurityManager更改了Intellisense中的排序,而其他的排序太粗糙了。谁想编写SecurityManager 23_09_2013 manager=new SecurityManager 23_09_2013@jbabey,但这不会简单地将我的问题转移到这个新名称空间上吗?