Rumah >hujung hadapan web >tutorial js >Memahami Prinsip Tanggungjawab Tunggal dalam TypeScript: Panduan Ringkas

Memahami Prinsip Tanggungjawab Tunggal dalam TypeScript: Panduan Ringkas

WBOY
WBOYasal
2024-08-26 21:40:05880semak imbas

Understanding Single Responsibility Principle in TypeScript: A Quick Guide

Takrifan utama prinsip Tanggungjawab Tunggal mengatakan bahawa Kelas sepatutnya hanya mempunyai satu sebab untuk berubah. Mari pecahkan kenyataan ini untuk pemahaman yang lebih baik.

Andaikan kita mempunyai kelas yang memanipulasi teks yang kita berikan kepadanya, prinsip tanggungjawab tunggal menyatakan bahawa kelas yang kita cipta seharusnya hanya bertanggungjawab untuk memanipulasi teks dan apa-apa tindakan lain yang dilakukannya tidak seharusnya menjadi sebahagian daripada kelas.

Mari kita ambil contoh kelas sedemikian dan lihat bagaimana kita boleh memfaktorkannya semula :

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);
  }
}

Dalam kod di atas seseorang dapat melihat bahawa kelas juga melakukan tindakan cetakan. Ini melanggar prinsip Tanggungjawab Tunggal. Kita boleh memfaktorkan semula kod dengan mencipta dua kelas baharu

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());
  }
}

Dalam kod refactored kami mempunyai dua kelas berasingan yang melakukan tindakan berasingan.

Mengapa Prinsip Tanggungjawab Tunggal

Dengan adanya Prinsip Tanggungjawab Tunggal kita boleh mencapai perkara berikut :-

  1. Pengorganisasian kod dan kebolehselenggaraan yang lebih baik
  2. Kebolehgunaan semula kod yang lebih tinggi
  3. Kebolehbacaan dipertingkat
  4. Nyahpepijat dan ujian yang lebih mudah

Perkara yang perlu diambil kira

Helah untuk melaksanakan prinsip tanggungjawab tunggal ialah mengetahui apakah tanggungjawab tunggal kelas kita. Walau bagaimanapun, setiap pembangun mempunyai visi mereka untuk tanggungjawab kelas, dan memandangkan kami tidak mempunyai sebarang arahan tentang cara untuk melaksanakan, kami hanya tinggal dengan tafsiran kami sendiri.

Mungkin terdapat contoh apabila kami memisahkan dua kelas yang sebenarnya melakukan perkara yang sama dengan perspektif perniagaan atau seni bina. Ini boleh mencipta kod yang lebih rumit dengan kedua-dua kelas digandingkan rapat antara satu sama lain, dan dengan itu mengurangkan tujuan tunggal prinsip SOLID

Kuncinya ialah jangan terlalu berfikir semasa membuat kelas baharu

Atas ialah kandungan terperinci Memahami Prinsip Tanggungjawab Tunggal dalam TypeScript: Panduan Ringkas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn