Latihan 1: Proxy Pattern — Design Patterns

Latihan 1 dari materi Proxy Pattern di Design Patterns — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Starter sudah berisi createDBConnection(), yang mencetak connecting... lalu mengembalikan object dengan query(sql) yang mengembalikan "result:" + sql. Starter juga sudah membuat proxy, mencetak proxy created, lalu memanggil query dua kali. Semuanya tetap. Lengkapi createDBProxy():

  1. Simpan let connection = null di dalamnya. Jangan buat koneksi saat proxy dibuat.
  2. Kembalikan object dengan method query(sql).
  3. Di dalam query, kalau connection masih null, buat dengan createDBConnection(). Panggilan berikutnya memakai koneksi yang sama.
  4. Kembalikan connection.query(sql) apa adanya.

Console harus mencetak empat baris ini, berurutan:

  1. proxy created
  2. connecting...
  3. result:SELECT 1
  4. result:SELECT 2

connecting... cuma muncul sekali. Yang juga dinilai: proxy baru dari createDBProxy() meneruskan query lain, jadi query("SELECT 9") mengembalikan "result:SELECT 9".

Hint