我正在研究模式和反模式。我对模式有一个清晰的想法,但我没有反模式。网络和维基百科的定义让我很困惑。
有人可以用简单的语言向我解释什么是反模式吗?什么目的?他们在做什么?这是好事还是坏事?
最佳答案
Anti-patterns软件开发中的某些模式被认为是不好的编程实践。
与 design patterns 相反反模式是解决常见问题的通用方法,这些方法已经形式化,并且通常被认为是良好的开发实践,反模式则相反,是不可取的。
例如,在面向对象编程中,其思想是将软件分成称为对象的小块。面向对象编程中的反模式是 God object它执行很多功能,最好将它们分成不同的对象。
例如:
class GodObject {
function PerformInitialization() {}
function ReadFromFile() {}
function WriteToFile() {}
function DisplayToScreen() {}
function PerformCalculation() {}
function ValidateInput() {}
// and so on... //
}
上面的示例有一个可以执行所有操作的对象。在面向对象的编程中,最好对不同的对象有明确的职责,以减少代码的耦合并最终提高可维护性:
class FileInputOutput {
function ReadFromFile() {}
function WriteToFile() {}
}
class UserInputOutput {
function DisplayToScreen() {}
function ValidateInput() {}
}
class Logic {
function PerformInitialization() {}
function PerformCalculation() {}
}
最重要的是,有一些很好的方法可以使用常用模式( design patterns )来开发软件,但也有一些软件开发和实现的方法可能会导致问题。被认为是不良软件开发实践的模式是反模式。
关于design-patterns - 什么是反模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/980601/