Menjalankan python

Referensi :
cd mon_projet

python -m venv mon_venv

source mon_venv/bin/activate

# Sur windows
mon_venv\Scripts\activate

deactivate

persyaratan instalasi

pip install -r requirements.txt

pendahuluan

Pola Desain GoF dalam Python

Design pattern GoF adalah sekumpulan 23 design pattern yang dijelaskan dalam buku "Design Patterns: Elements of Reusable Object-Oriented Software".

Table 1. Berikut adalah daftar pola desain GoF

Nama

Deskripsi

Metode Pabrik

Buat objek tanpa menentukan kelas yang tepat untuk diinstansiasi.

Pabrik Abstrak

Buat keluarga objek terkait atau dependen tanpa menentukan kelas konkritnya.

Pembuat

Memisahkan pembuatan objek kompleks dari representasinya sehingga proses pembuatan yang sama dapat membuat representasi yang berbeda.

prototipe

Membuat objek baru dengan menyalin prototipe yang ada.

Singleton

Membatasi instansiasi kelas menjadi satu objek saja.

adaptor

Mengubah antarmuka suatu kelas menjadi antarmuka lain yang diharapkan oleh klien.

bridge

Memisahkan abstraksi dari implementasinya sehingga keduanya dapat berubah secara independen.

komposit

Buat objek dalam struktur pohon untuk merepresentasikan hierarki bagian-keseluruhan.

dekorator

Melampirkan secara dinamis tanggung jawab tambahan ke sebuah objek.

fasad

Memberikan satu antarmuka terpadu ke sekumpulan antarmuka dalam sebuah subsistem.

Flyweight

Mengurangi biaya pembuatan dan penggunaan objek ringan.

Proxy

Memberikan pengganti atau placeholder untuk objek lain untuk mengontrol akses padanya.

Rantai Tanggung Jawab

Mengizinkan lebih dari satu objek untuk memproses permintaan.

perintah

Mengenkapsulasi sebuah permintaan dalam sebuah objek, sehingga memungkinkan klien dikonfigurasi dengan permintaan yang berbeda, antrian atau log, dan mendukung operasi yang dapat dibatalkan.

penerjemah

Berikan representasi tata bahasa suatu bahasa dan gunakan representasi tersebut untuk menafsirkan kalimat dalam bahasa tersebut.

Iterator

Memberikan cara untuk melintasi secara berurutan elemen dari objek gabungan tanpa mengekspos representasi dasarnya.

perantara

Memungkinkan untuk mengurangi dependensi kompleks antara objek dengan membuat mereka berkomunikasi hanya melalui objek mediator.

kenangan

Memberikan kemampuan untuk mengembalikan objek ke kondisi sebelumnya (tanpa melanggar enkapsulasi).

Pengamat

Menetapkan ketergantungan satu-ke-banyak antara objek sehingga ketika sebuah objek mengubah statusnya, semua dependennya diberi tahu dan diperbarui secara otomatis.

Negara

Memungkinkan suatu objek untuk mengubah perilaku ketika mengubah keadaan internalnya

Strategi

Menentukan sebuah keluarga algoritma, mengenkapsulasi masing-masingnya dan membuatnya dapat ditukar.

Metode Templat

Menetapkan kerangka sebuah algoritma dalam sebuah metode, mendelegasikan beberapa langkah ke subkelas.

pengunjung

Memungkinkan untuk mendefinisikan operasi baru yang harus dilakukan pada struktur objek tanpa mengubah kelas objek yang padanya ia beroperasi.

Pemrograman fungsional

perpustakaan

URL

Keterangan

PyMonad

https://github.com/jasondelaat/pymonad

PyMonad adalah implementasi struktur data monadik dalam Python yang berdasarkan bahasa pemrograman seperti Haskell dan F# dengan implementasi untuk tipe monad yang paling umum digunakan dalam pemrograman fungsional.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[artikel]

PyFunctional

https://github.com/EntilZha/PyFunctional/

PyFunctional adalah perpustakaan Python untuk pemrograman fungsional yang menyediakan alat untuk bekerja dengan fungsi murni dan iterabel.

Toolz

https://toolz.readthedocs.io/en/latest/

Toolz adalah pustaka Python untuk pemrograman fungsional yang menyediakan alat untuk bekerja dengan fungsi murni dan iterable.

Fn.py

https://github.com/kachayev/fn.py

Fn.py adalah sebuah pustaka Python untuk pemrograman fungsional yang menyediakan alat untuk bekerja dengan fungsi murni dan iterable.

kelapa

https://coconut-lang.org/

Coconut menambahkan beberapa fitur ke Python untuk pemrograman fungsional, termasuk pencocokan pola.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[percakapan sof]

efek samping

perulangan

# impérative way
result = []
for i in inputs:
    x = f(g(i))
    result.append(x)

# idiomatic way
result = map(comp(f,g), inputs)

Artikel terkait