Tuesday, December 15, 2020

10 Common Software Architectural Patterns in a nutshell

 Ever wondered how large enterprise scale systems are designed? Before major software development starts, we have to choose a suitable architecture that will provide us with the desired functionality and quality attributes. Hence, we should understand different architectures, before applying them to our design.


What is an Architectural Pattern?

According to Wikipedia,

An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Architectural patterns are similar to software design pattern but have a broader scope.

In this article, I will be briefly explaining the following 10 common architectural patterns with their usage, pros and cons.

  1. Layered pattern
  2. Client-server pattern
  3. Master-slave pattern
  4. Pipe-filter pattern
  5. Broker pattern
  6. Peer-to-peer pattern
  7. Event-bus pattern
  8. Model-view-controller pattern
  9. Blackboard pattern
  10. Interpreter pattern

1. Layered pattern

This pattern can be used to structure programs that can be decomposed into groups of subtasks, each of which is at a particular level of abstraction. Each layer provides services to the next higher layer.

The most commonly found 4 layers of a general information system are as follows.

  • Presentation layer (also known as UI layer)
  • Application layer (also known as service layer)
  • Business logic layer (also known as domain layer)
  • Data access layer (also known as persistence layer)

Usage

  • General desktop applications.
  • E commerce web applications.

Image for post
Layered pattern

2. Client-server pattern

This pattern consists of two parties; a server and multiple clients. The server component will provide services to multiple client components. Clients request services from the server and the server provides relevant services to those clients. Furthermore, the server continues to listen to client requests.

Usage

  • Online applications such as email, document sharing and banking.
Image for post
Client-server pattern

3. Master-slave pattern

This pattern consists of two parties; master and slaves. The master component distributes the work among identical slave components, and computes a final result from the results which the slaves return.

Usage

  • In database replication, the master database is regarded as the authoritative source, and the slave databases are synchronized to it.
  • Peripherals connected to a bus in a computer system (master and slave drives).
Image for post
Master-slave pattern

4. Pipe-filter pattern

This pattern can be used to structure systems which produce and process a stream of data. Each processing step is enclosed within a filter component. Data to be processed is passed through pipes. These pipes can be used for buffering or for synchronization purposes.

Usage

  • Compilers. The consecutive filters perform lexical analysis, parsing, semantic analysis, and code generation.
  • Workflows in bioinformatics.
Image for post
Pipe-filter pattern

5. Broker pattern

This pattern is used to structure distributed systems with decoupled components. These components can interact with each other by remote service invocations. A broker component is responsible for the coordination of communication among components.

Servers publish their capabilities (services and characteristics) to a broker. Clients request a service from the broker, and the broker then redirects the client to a suitable service from its registry.

Usage

Image for post
Broker pattern

6. Peer-to-peer pattern

In this pattern, individual components are known as peers. Peers may function both as a client, requesting services from other peers, and as a server, providing services to other peers. A peer may act as a client or as a server or as both, and it can change its role dynamically with time.

Usage

Image for post
Peer-to-peer pattern

7. Event-bus pattern

This pattern primarily deals with events and has 4 major components; event sourceevent listenerchannel and event bus. Sources publish messages to particular channels on an event bus. Listeners subscribe to particular channels. Listeners are notified of messages that are published to a channel to which they have subscribed before.

Usage

  • Android development
  • Notification services
Image for post
Event-bus pattern

8. Model-view-controller pattern

This pattern, also known as MVC pattern, divides an interactive application in to 3 parts as,

  1. model — contains the core functionality and data
  2. view — displays the information to the user (more than one view may be defined)
  3. controller — handles the input from the user

This is done to separate internal representations of information from the ways information is presented to, and accepted from, the user. It decouples components and allows efficient code reuse.

Usage

  • Architecture for World Wide Web applications in major programming languages.
  • Web frameworks such as Django and Rails.
Image for post
Model-view-controller pattern

9. Blackboard pattern

This pattern is useful for problems for which no deterministic solution strategies are known. The blackboard pattern consists of 3 main components.

  • blackboard — a structured global memory containing objects from the solution space
  • knowledge source — specialized modules with their own representation
  • control component — selects, configures and executes modules.

All the components have access to the blackboard. Components may produce new data objects that are added to the blackboard. Components look for particular kinds of data on the blackboard, and may find these by pattern matching with the existing knowledge source.

Usage

  • Speech recognition
  • Vehicle identification and tracking
  • Protein structure identification
  • Sonar signals interpretation.
Image for post
Blackboard pattern

10. Interpreter pattern

This pattern is used for designing a component that interprets programs written in a dedicated language. It mainly specifies how to evaluate lines of programs, known as sentences or expressions written in a particular language. The basic idea is to have a class for each symbol of the language.

Usage

  • Database query languages such as SQL.
  • Languages used to describe communication protocols.
Image for post
Interpreter pattern

Comparison of Architectural Patterns

The table given below summarizes the pros and cons of each architectural pattern.

Image for post
Comparison of Architectural Patterns

Hope you found this article useful. I would love to hear your thoughts. 😇

Thanks for reading. 😊

Thursday, August 30, 2012

Panduan Mendidik Anak

1) Jangan pukul anak dari lutut keatas

2) Jangan gunakan tangan/anggota tubuh kita utk memukul anak dengan tangan dan jangan sesekali menampar anak pakai tangan kita. Nanti anak jadi bertambah degil dan nakal dan tak boleh control.

3) Rotan/pukul anak di telapak kakinya. Secara saintifiknya ada kaitan dengan refleksologi dan merangsang ke bahagian otak.

Sabda Rasulullah s.a.w.

“Berguraulah dengan anak kamu kala usianya satu hingga tujuh tahun. Berseronok dengan mereka, bergurau hingga naik atas belakang pun tak apa. Jika suka geletek, kejar atau usik anak asalkan hubungan rapat. Lepas tujuh hingga 14 tahun kita didik dan ajar, kalau salah pukullah dia (sebagai pengajaran)”

4). Mulakanlah hidup anak anda dengan nama panggilan yang baik. Nama panggilan yang kurang baik akan menyebabkan anak anda malu dan merasa rendah diri. (Dalam Islam sendiri nama panggilan yang baik adalah digalakkan).

5). Berikan anak anda pelukkan setiap hari. (Kajian menunjukkan anak yang dipeluk setiap hari akan mempunyai kekuatan IQ yg lebih kuat daripada anak yang jarang dipeluk)

6). Pandanglah anak anda dengan pandangan kasih sayang (Pandangan ini akan membuatkan anak anda lebih yakin diri apabila berhadapan dengan persekitaran)

7). Berikan peneguhan setiap kali anak anda berbuat kebaikan.
(Berilah pujian, pelukkan, ciuman, hadiah ataupun sekurang-kurangnya senyuman untuk setiap kebaikan yang dilakukannya).

8). Janganlah mengharapkan anak anda yang belum matang itu melakukan sesuatu perbuatan baik secara berterusan, mereka hanya kanak-kanak yang sedang berkembang. Perkembangan mereka buatkan mereka ingin mengalami setiap perkaratermasuklah berbuat silap.

9). Apabila anda berhadapan dengan masalah kerja dan keluarga, pilihlah keluarga (Seorang penulis menyatakan anak-anak terus membesar. Masa itu terus berlalu dan tak akan kembali).

10). Di dalam membesarkan dan mendidik anak-anak, janganlah tuan/puan mengeluh. Keluhan akan membuatkan anak-anak merasakan diri mereka beban.

11). Dengarlah cerita anak anda, cerita itu tak akan dapat anda dengari lagi pada masa akan datang. Tunggu giliran anda untuk bercakap (Ini akan mengajar anak anda tentang giliran untuk bercakap)

12). Tenangkan anak anda setiap kali mereka memerlukannya.

13). Tunjukkan kepada anak anda bagaimana cara untuk menenangkan diri. Mereka akan menirunya.

14). Buatkan sedikit persediaan untuk anak-anak menyambut harijadinya. Sediakanlah hadiah harijadi yang unik walaupun harganya murah. Keunikan akan membuatkan anak anda belajar menghargai. (Anak2 yg dtg daripada persekitaran yang menghargai akan belajar menghargai orang lain).

15). Kemungkinan anak kita menerima pengajaran bukan pada kali pertama belajar. Mereka mungkin memerlukan kita mengajar mereka lebih daripada sekali.

16). Luangkanlah masa bersama anak anda diluar rumah, peganglah tangan anak-anak apabila anda berjalan dengan mereka. Mereka tentu akan merasa kepentingan kehadiran mereka dalam kehidupan anda suami isteri.

17). Dengarlah mimpi ngeri anak-anak anda. Mimpi ngeri mereka adalah begitu real dalam dunia mereka.

18). Hargailah permainan kesayangan anak anda. Mereka juga dalam masa yang sama akan menghargai barang-barang kesayangan anda. Elakkan daripada membuang barang kesayangan mereka walaupun sudah rosak. Mintalah kebenaran mereka sebelum berbuat demikian.

19). Janganlah membiarkan anak-anak anda tidur tanpa ciuman selamat malam.

20). Terimalah yang kadangkala anda bukanlah ibubapa yang sempurna. Ini akan mengurangkan stress menjadi ibu bapa.

21). Jangan selalu membawa bebanan kerja pejabat ke rumah. Anak-anak akan belajar bahawa kerja pejabat selalunya lebih penting daripada keluarga.

22). Anak menangis untuk melegakan keresahan mereka tetapi kadangkala cuma untuk sound effect sahaja. Bagaimanapun dengarilah mereka, dua puluh tahun dari sekarang anda pula yang akan menangis apabila rumah mula terasa sunyi. Anak-anak anda mula sibuk mendengar tangisan anak mereka sendiri.

“Anak- Anak ibarat kain putih. Ibu bapa lah yang mencorakkannya menjadi yahudi, nasrani atau majusi”

Thursday, July 26, 2012

Rumah Kotor Baik Untuk Imuniti



Rumah yang kotor di sini bukanlah bermaksud rumah yang bersepah sepah dengan pinggan mangkuk tidak berbasuh, baju tidak basuh dan sebagainya. Rumah kotor yang dimaksudkan di sini ialah rumah yang tidaklah 'bebas kuman' seperti mana yang orang sekarang ni cita citakan. Selalu sangat dalam tv mengiklankan bahan pencuci pakaian yang dapat menghapuskan 99.9% kuman. Ada juga yang mengiklankan pencuci lantai yang mampu mebasmi kuman untuk keselamatan anak anak. Pengiklan bahan pencuci sejenis ini mahukan rumah kita bersih sebersihnya seolah olah berada di dalam dewan bedah, semuanya nak dibebaskumankan. Tapi, betul ke rumah bebas kuman ini baik untuk diri kita dan anak anak?

Produk Pencuci Sumber : Google image

Zaman kita ni, dah selalu sangat dah kita dengar orang menghidapi penyakit asma dan penyakit hipersensitif yang lain seperti alergi. Kebanyakannya menyalahkan faktor persekitaran mereka yang tidak bersih menyebabkan mereka menghadapi seperti ini berulang kali. Mereka sering kali membersihkan rumah sebersihnya, namun serangan asma dan alergi tetap berulang. Dekat mana silapnya?


Cleaning To Do List - Google image

Silapnya terletak pada kebersihan rumah yang keterlaluan seolah olah kuman itu adalah 100% musuh bagi manusia. Banyak ibu yang sentiasa memastikan rumah mereka bebas dari kuman, sanggup menghabiskan ratusan ringgit setahun untuk membeli bahan pencuci yang dapat membebaskan rumah 100% dari kuman. Iklan iklan di tv pula sentiasa mewarwarkan kepada orang ramai bahawa untuk mendapatkan hidup yang sihat, kita harus menghindari kuman. Seolah olah kuman adalah musuh ketat bagi kita. Namun sedarkan kita bahawa kuman merupakan organisma yang sentiasa membantu kita dalam kehidupan?


Profesor Jan Krejsek dari Charles University Czech Republic berkata "kuman adalah kawan baik bagi manusia. Manusia tidak patut menjauhi kuman kerana ia membantu manusia melawan penyakit. Olleh sebab itulah banyak daripada golongan petani yang sentiasa terdedah kepada tanah dan haiwan mempunyai imuniti yang amat hebat."


Profesor Jan Krejsek, Head of Immunology Department Faculty Hospital Hradec Kralove



Kuman terdiri daripada danger (bahaya) dan non-danger (tidak merbahaya). Kuman di dalam badan kita terutamanya yang terdapat di saluran perut-usus (GIT) adalah baik untuk badan. Sebagai contoh ialah Escherichia Coli (E-Coli). Bacteria ini memastikan kolonisasi bakteria lain yang lebih patogenik (menyebabkan penyakit) tidak mampu membiak di dalam perut kita. Selain itu, bakteria ini menghasilkan vitamin K yang yang amat penting untuk darah (pembekuan darah).


Sumber : E-coli wikipedia


Pendedahan awal kepada bakteria dan kuman kuman lain seawal kecil lagi membolehkan seseorang menghasilkan imuniti terhadap pelbagai jenis patogen (organisma pembawa penyakit) dan allergen (bahan yang menyebabkan alergi). Sekiranya proses ini diasingkan dari hidup seorang bayi, kesannya ialah asma, alergi dan panyakit penyakit yang lebih serius sewaktu dewasa. Perkara ini dapat dilihat berlaku kepada orang bandar (orang bando..) yang terlalu mementingkan kebersihan rumah, tiada habuk, tiada kotoran. Tiba saja waktu hendak ke kampung sewaktu hari raya, datanglah penyakit penyakit semput, tangan gatal gatal dan lain lain.


Sebahagian doktor amat gemar menyarankan pesakitnya memakan antibiotik bagi membunuh kuman di dalam perut mereka. Ada pula yang amat suka memberikan antibiotik yang tidak spesifik untuk membunuh kuman kuman tertentu pada badan pesakit seperti Chloramphenicol. Akibatnya, banyak kuman kuman baik seperti E. Coli, n-p Stafilokokus Aureus, Klebsiella, Proteus, Lactobacillus yang terdapat di dalam saluran perut-usus kita yang terbunuh dan lapisan pelindungan terhadap kuman merbahaya telah menjadi lemah. Mulalah gejala Candidiasis dan Clostridiasis berlaku pada badan kita.

Chloramphenicol yg membunuh bakteria E-Coli dan rakan2 bakteria baik
Sumber Wikipedia:Image Google


Bagaimana pula kalau anak saya cirit birit akibat rumah yang terlalu kotor?

Profesor Krejsek menjawab persoalan ini: "Sememangnya dalam proses mewujudkan imuniti dalam badan kita dan anak anak seringkali akan berlaku perkara yang kurang menyenangkan seperti cirit birit dan jangkitan kulit. Ini merupakan perkara biasa dalam mengadaptasi kepada persekitaran kita. Namun harus diingatkan, kebersihan mastilah dipelihara, cuma tahap kebersihannya harus tidak perlulah sampai takut kepada kuman kuman."




[FONT=comic sans ms][COLOR=#000000][COLOR=#333333]Oleh yang demikian, kita dinasihatkan agar tidak terpengaruh dan tertipu dengan media yang sentiasa mahu mengambil untung atas diri kita. Rumah yang 100% bebas kuman, tidak bermaksud 100% baik untuk diri kita dan anak anak. =)

For me i love this:::>>

Antara Air Kotor & Air Sakit ?





Jika dulu kita dikejutkan dengan sumber air yang kotor, kini ancaman yang lebih bahaya menanti kita setiap hari. Air Sakit merupakan 'pembunuh senyap' no.1!










Hasil daripada kitaran ini, kita terdedah dengan bahan-bahan kimia.







kajian dibuat melalui fakta-fakta....keadaan ini amat membimbangkan!


.

KESANNYA...

.

.

DAN YANG TERBARU....!

.









Laporan Associated Press (AP), 9 Mac 2008 & 11 Sept 2008"]Kajian membuktikan bahawa walaupun dengan jumlah perubatan yang kecil dalam air, dapat:
  • Meningkatkan pembiakan sel kanser
  • Merencatkan pertumbuhan semula sel ginjal
  • Menyebabkan keradangan sel darah

.


.



.[/CENTER]
[B][COLOR=#ff6600]

..
Mengapakah air sempurna ialah H2O sahaja?[/CENTER]

Air yang dikurniakan oleh alam adalah bebas daripada:
Bahan Pencemar
Mineral

kesempurnaan H2O ini dapat dikenalpasti melalui bacaan meter TDS (Total Dissolved Solids) di mana bacaan 0 (kosong) menunjukkan tiada bahan/mineral yang terlarut di dalamnya.
.

Dari mana H2O boleh diperolehi?




Air yang sempurna adalah H2O dan tidak mengandungi sebarang zat terlarut.
Masih ingatkah anda dengan krisis air di singapura dahulu?



Krisis air di Singapura juga telah selesai setelah menggunakan sistem rawatan Osmosis Songsang untuk merawat air! Oleh itu, mengambil kaedah R.O (reverse Osmosis) adalah langkah terbaik bagi merawat air yang sakit!.


Proses Osmosis Songsang (R.O)
ialah cara yang paling efektif untuk menyingkirkan bahan pencemar air
Menghasilkan air tulen dan sempurna - H2O sempurna sahaja
[/CENTER]



PERINGATAN (Soal Jawab):
1. FILTER SAJA KOTORAN/KLORIN MENGGUNAKAN PENAPIS AIR DI LUAR RUMAH.

Dari kajian pakar2, Kalau filter chlorine awal2 dari meter air (penapis luar rumah), pastu simpan dalam tangki lama2, nanti air tu bole rosak sebab bakteria boleh membiak kalau takda chlorine. Air memang nampak bersih tetapi sebenarnya SAKIT. Nk tahu betul ke tak, dapatkan 1 alat elektrolisis, then msuk dalam air tu. Akan keluar semua jenis kotoran yg ada. Dlu air kotor kte pastikan air tu bersih dgn menapis. Tp skrg kte ada masalah yg lebih teruk, 'air sakit', nampak bersih tapi sebenarnya ada kotoran 'terlarut'.

2. FILTER KOTORAN DI DALAM RUMAH LA!
Ya mungkin ini cara terbaik, tetapi harus diingat, MENAPIS tidak cukup untuk mengatasi masalah ini. Air ini perlu dirawat, bukan ditapis. TIADA PENAPIS AIAR YANG BOLEH MENAPIS KOTORAN INI (TERUTAMA UBAT-UBATAN YANG TERLARUT!).

3. MASAK SAJA AIR TU!
Memasak bukan cara terbaik kerana, air yang dimasak akan kekurangan oksigen dan masih mengandungi kekotoran. Apa bila kita memasak air, kita mengaktifkan klorin dan asid humid untuk menjadi satu sebatian kimia dipanggil triklorometana (thm) dan ia menjadi satu agen penyebab kanser (bahan karsinogen). Sangat2 bahaya....sbb tu kna buang kotoran dalam air dlu. Memasak bukan solution.


Cara Yang Terbaik Adalah MERAWAT Air, Bukan Menapis Cara Biasa. Tetapi Merawat Itu Perlu Melalui Beberapa Proses Yg Betul Supaya Air Yg Tinggal Adalah Ar Sempurna Dan Tidak Mengandungi Sebarang Zat Terlarut Yg Merbahaya. Cara Mudah Nk Test Ada Benda Asing Atau Tak, Guna Meter TDS (Total Dissolved Solids) Di Mana Bacaan 0 (Kosong) Menunjukkan Tiada Bahan/Mineral Yang Terlarut Di Dalamnya. Meter Ni Byk Jual Kt Kedai. Proses Merawat Ini Dapat Dilakukan Melalui Beberapa Cara Dan Memerlukan Kos Yang Agak Besar. Tetapi Bergantung Kepada Individu Untuk Menentukan Berapa Nilai Kesihatan Mereka Melalui Kekayaan Yang Ada. JANGAN BIARKAN INSAN TERSAYANG TERUS TERLIBAT DENGAN PENCEMARAN INI....!

SEMOGA ARTIKEL INI BERMANFAAT UNTUK ANDA SEMUA. :)

About Norashady bin Mohd Noor

Norashady bin Mohd Noor was born on March 16th 1980 in Kampung Keladang, Salor in Kelantan and is happily married to Nor Farah Wahida binti Mohd Noor. They are both a dotting parent to Wisam Wafiy, Maryam Raeesa and Ameena Sabrina.

Dato’ Seri Dr. Zambry Abdul Kadir was born on March 22nd 1962 in Pangkor Island in Perak and is happily married to Datin Seri Saripah Zulkifli. They are both a dotting parent to Husna, Huda, Syifa, Munir and Mukhlis. - See more at: http://zambryperak.com/#sthash.f7x451vs.dpuf
Dato’ Seri Dr. Zambry Abdul Kadir was born on March 22nd 1962 in Pangkor Island in Perak and is happily married to Datin Seri Saripah Zulkifli. They are both a dotting parent to Husna, Huda, Syifa, Munir and Mukhlis. - See more at: http://zambryperak.com/#sthash.f7x451vs.dpuf
Dato’ Seri Dr. Zambry Abdul Kadir was born on March 22nd 1962 in Pangkor Island in Perak and is happily married to Datin Seri Saripah Zulkifli. They are both a dotting parent to Husna, Huda, Syifa, Munir and Mukhlis. - See more at: http://zambryperak.com/#sthash.f7x451vs.dpuf