Latest web development tutorials

Pengantar Desain Pola

pola desain (pola desain) merupakan praktek terbaik, sering diadopsi oleh pengembang perangkat lunak yang berpengalaman berorientasi objek. Desain pola solusi untuk masalah umum dari pengembang perangkat lunak dalam proses pengembangan perangkat lunak di wajah. Solusi ini banyak pengembang perangkat lunak melalui cukup jangka waktu yang panjang trial and error menyimpulkan.

pola desain ditetapkan untuk digunakan berulang kali, kebanyakan orang tahu, setelah katalogisasi, ringkasan kode desain pengalaman. Menggunakan pola desain untuk menggunakan kembali kode, membuat kode lebih mudah untuk memahami orang lain, untuk menjamin kehandalan kode. Tidak diragukan lagi, pola desain pada orang lain dalam sistem yang win-win, pola desain membuat kode dikompilasi rekayasa nyata, pola desain landasan rekayasa perangkat lunak, sebagai bangunan batu bata yang sama. penggunaan rasional proyek pola desain dapat menjadi solusi yang tepat untuk banyak masalah, setiap mode yang sesuai dengan prinsip realitas memiliki yang sesuai, setiap mode menjelaskan masalah terus berulang di sekitar kita, serta masalah solusi inti, yang secara luas digunakan pola desain yang dapat menjadi alasan.

Apa GOF (Gang of Four, Gang ejaan Four)?

1994 oleh Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides empat co-menerbitkan sebuah buku berjudulPola Desain - Unsur Reusable Object Oriented Software ( terjemahan Cina: Pola Desain - Reusable Software Object-Oriented elemen)buku yang pertama disebutkan konsep pola desain pengembangan perangkat lunak.

Empat penulis kolektifGOF (Gang of Four, Gang ejaan empat).Mereka mengusulkan desain model terutama didasarkan pada prinsip-prinsip desain berorientasi objek.

  • Daripada pemrograman antarmuka untuk pemrograman.
  • Komposisi objek prioritas daripada warisan.

Penggunaan pola desain

Pola desain dalam pengembangan perangkat lunak untuk dua tujuan utama.

pengembang platform umum

pola desain menyediakan sistem terminologi standar, dan khususnya untuk adegan tertentu. Misalnya, pola desain tunggal menyiratkan penggunaan satu objek, sehingga semua yang akrab dengan pengembang pola desain tunggal dapat menggunakan satu objek, dan dapat saling menceritakan cara ini, program ini menggunakan pola tunggal.

Praktik terbaik

pola desain telah berevolusi selama jangka waktu yang panjang, mereka memberikan solusi terbaik untuk masalah umum yang dihadapi oleh proses pengembangan perangkat lunak. Ini modus belajar membantu pengembang berpengalaman melalui cara cepat dan mudah untuk mempelajari desain perangkat lunak.

Jenis pola desain

Menurut buku referensi pola desainPola Desain - Unsur Reusable Object Oriented Software ( terjemahan Cina: Pola Desain - elemen perangkat lunak berorientasi objek dapat digunakan kembali)disebutkan, total 23 pola desain. Pola-pola ini dapat dibagi menjadi tiga kategori: membuat skema (Pola penciptaan), model struktural (Pola Struktural), jenis model (Pola Perilaku). Tentu saja, kita akan membahas jenis lain dari pola desain: pola desain J2EE.

序号模式 & 描述包括
1创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
  • 工厂模式(Factory Pattern)
  • 抽象工厂模式(Abstract Factory Pattern)
  • 单例模式(Singleton Pattern)
  • 建造者模式(Builder Pattern)
  • 原型模式(Prototype Pattern)
2结构型模式
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
  • 适配器模式(Adapter Pattern)
  • 桥接模式(Bridge Pattern)
  • 过滤器模式(Filter、Criteria Pattern)
  • 组合模式(Composite Pattern)
  • 装饰器模式(Decorator Pattern)
  • 外观模式(Facade Pattern)
  • 享元模式(Flyweight Pattern)
  • 代理模式(Proxy Pattern)
3行为型模式
这些设计模式特别关注对象之间的通信。
  • 责任链模式(Chain of Responsibility Pattern)
  • 命令模式(Command Pattern)
  • 解释器模式(Interpreter Pattern)
  • 迭代器模式(Iterator Pattern)
  • 中介者模式(Mediator Pattern)
  • 备忘录模式(Memento Pattern)
  • 观察者模式(Observer Pattern)
  • 状态模式(State Pattern)
  • 空对象模式(Null Object Pattern)
  • 策略模式(Strategy Pattern)
  • 模板模式(Template Pattern)
  • 访问者模式(Visitor Pattern)
4J2EE 模式
这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。
  • MVC 模式(MVC Pattern)
  • 业务代表模式(Business Delegate Pattern)
  • 组合实体模式(Composite Entity Pattern)
  • 数据访问对象模式(Data Access Object Pattern)
  • 前端控制器模式(Front Controller Pattern)
  • 拦截过滤器模式(Intercepting Filter Pattern)
  • 服务定位器模式(Service Locator Pattern)
  • 传输对象模式(Transfer Object Pattern)

Berikut dengan gambar keseluruhan untuk menggambarkan hubungan antara pola desain:

设计模式之间的关系

Enam prinsip pola desain

1. Buka Tertutup Prinsip (Buka Tutup Prinsip)

Terbuka Tertutup Prinsip berarti: terbuka untuk ekstensi, tapi ditutup untuk modifikasi. Ketika program perlu untuk memperluas, tidak mengubah kode asli untuk mencapai efek dari hot-swappable. Singkatnya, dalam rangka untuk membuat skalabilitas program, kemudahan pemeliharaan dan upgrade. Ingin mencapai efek ini, kita perlu menggunakan interface dan kelas abstrak, desain beton kemudian kami akan menyebutkan hal ini.

2, Richter prinsip substitusi (Liskov Pergantian Prinsip)

Richter prinsip substitusi adalah salah satu prinsip dasar desain berorientasi objek. Richter substitusi prinsip bahwa di mana setiap kelas dasar dapat muncul, subclass akan bisa tampil. LSP diwariskan landasan multiplexing hanya ketika kelas turunan dapat menggantikan kelas dasar, dan satuan perangkat lunak fungsional tidak terpengaruh, kelas dasar benar-benar dapat digunakan kembali, dan kelas turunan dapat menjadi dasar dari basis kelas menambahkan baru perilaku. Richter prinsip substitusi adalah prinsip saling melengkapi dari pembukaan dan penutupan. Langkah utama adalah realisasi prinsip pembukaan dan penutupan abstraksi, warisan dan kelas dasar dan subclass dari realisasi konkret abstrak, sehingga Richter prinsip substitusi adalah langkah-langkah konkrit abstrak untuk melaksanakan spesifikasi.

3. Prinsip Ketergantungan Inversi (Ketergantungan Pembalikan Prinsip)

Prinsip ini adalah dasar dari prinsip pembukaan dan penutupan, konten spesifik: Untuk antarmuka pemrograman, tergantung pada abstrak tidak tergantung pada spesifik.

4, Antarmuka Pemisahan Prinsip (Antarmuka Pemisahan Prinsip)

Arti dari prinsip ini adalah: penggunaan beberapa antarmuka yang terisolasi lebih baik daripada menggunakan antarmuka tunggal. Ini juga memiliki arti lain: untuk mengurangi tingkat coupling antara kelas. Dengan demikian, fakta bahwa pola desain mulai dari arsitektur perangkat lunak skala besar, mudah untuk meningkatkan dan mempertahankan desain perangkat lunak, yang menekankan mengurangi ketergantungan, mengurangi kopling.

5, Demeter, juga dikenal sebagai prinsip paling dikenal (Demeter Prinsip)

Minimum tahu cara prinsip: entitas harus berinteraksi sesedikit mungkin antara entitas lainnya, membuat sistem modul fungsi relatif independen.

6, prinsip sintesis multiplexing (Composite Reuse Prinsip)

Sintesis multiplexing mengacu prinsip: sebanyak mungkin penggunaan sintetis / polimer cara, daripada menggunakan warisan.