单一职责原则的主要定义是,A 类应该只有一个改变的理由。让我们分解一下这个陈述以便更好地理解。
假设我们有一个类来操作我们传递给它的文本,单一职责原则规定我们创建的类应该只负责操作文本,它执行的任何其他操作都不应该是班级。
让我们举一个这样的类的例子,看看我们如何重构它:
class TextManipulator { text: string; constructor(text: string) { this.text = text; } appendText(newText: string) { return this.text.concat(newText); } findAndReplace(word: string, replacementWord: string) { if (this.text.includes(word)) { this.text.replace(word, replacementWord); } return this.text; } printText() { console.log("The text is ", this.text); } }
在上面的代码中,我们可以看到该类也在执行打印操作。这打破了单一职责原则。我们可以通过创建两个新类来重构代码
class TextManipulator { private text: string; constructor(text: string) { this.text = text; } appendText(newText: string) { return this.text.concat(newText); } findAndReplace(word: string, replacementWord: string) { if (this.text.includes(word)) { this.text.replace(word, replacementWord); } return this.text; } getText() { return this.text; } } class PrintText { formattedText: TextManipulator; constructor(formattedText: TextManipulator) { this.formattedText = formattedText; } printText() { console.log("The text is ", this.formattedText.getText()); } }
在重构的代码中,我们有两个单独的类正在执行单独的操作。
采用单一职责原则,我们可以实现以下目标:-
实施单一责任原则的技巧是要知道我们类的单一责任是什么。然而,每个开发人员都有他/她对类责任的愿景,并且由于我们没有任何关于如何实现的说明,所以我们只能有自己的解释。
在某些情况下,我们将两个类分开,实际上从业务或架构的角度来看,它们在做同样的事情。这可以创建更复杂的代码,两个类紧密耦合彼此,从而减少SOLID原则
的唯一目的关键是创建新类时不要想太多
以上是了解 TypeScript 中的单一职责原则:快速指南的详细内容。更多信息请关注PHP中文网其他相关文章!