【发布时间】:2017-01-15 20:43:56
【问题描述】:
我经常遇到应该在业务对象中的逻辑在各处重复的代码:
if ( !string.IsNullOrEmpty( Employee.Name ) ) Display( Employee.Name );
应该是这样的:
if ( Employee.IsNameSpecified ) Display( Employee.Name );
Employee.IsNameSpecified 具有指定值的逻辑。
这只是一个例子,我脑海中浮现出许多与 OOP 相反的例子,程序代码用于对业务对象做出逻辑决策。
当 Logic 被封装在 BusinessObject 中时,这只是正常的 OOP 实践(或有不同名称的doeas?),相反的叫什么?解封装?
【问题讨论】:
-
我从来没有听说过它的名字。我只是说它“违反了封装”或“违反了关注点分离”。
-
你可以称之为“意大利面条代码”或“copypasta”。
-
@4castle : copypasta 是新的!以前从未听说过,谢谢!
标签: oop design-patterns code-standards