首頁 >web前端 >js教程 >了解 TypeScript 中的單一職責原則:快速指南

了解 TypeScript 中的單一職責原則:快速指南

WBOY
WBOY原創
2024-08-26 21:40:05880瀏覽

Understanding Single Responsibility Principle in TypeScript: A Quick Guide

單一職責原則的主要定義是,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());
  }
}

在重構的程式碼中,我們有兩個單獨的類別正在執行單獨的操作。

為什麼採取單一責任原則

採用單一職責原則,我們可以實現以下目標:-

  1. 更好的程式碼組織與可維護性
  2. 更高的程式碼可重複使用性
  3. 提高了可讀性
  4. 更輕鬆的調試和測試

需要考慮的事項

實施單一責任原則的技巧是要知道我們類的單一責任是什麼。然而,每個開發人員都有他/她對類責任的願景,並且由於我們沒有任何關於如何實現的說明,所以我們只能有自己的解釋。

在某些情況下,我們將兩個類別分開,實際上從業務或架構的角度來看,它們在做同樣的事情。這可以創建更複雜的程式碼,兩個類別緊密耦合彼此,從而減少SOLID原則

的唯一目的

關鍵是創建新類別時不要想太多

以上是了解 TypeScript 中的單一職責原則:快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn