Please CMIIW guys,
 
mas johan, saya ga tahu apa pertanyaannya (ga disebutkan diemailnya :P ), tapi berikut ini pengertian yg saya dapat dari email mas, mohon koreksinya.
 
7. Reduce the coupling within your software.
pada waktu developing software, kita biasanya membaginya menjadi beberapa layer, user interface, business rules, data processing. bagian yg membuat user interface akan memanggil method yg ada di business rules, tanpa dia perlu tahu apa dan bagaimana semua proses dilakukan di business layer, yg dia perlukan hanyalah hasil yg bisa ditampilkan kepada user.
 
mis:
 
ui meminta business layer u. menghitung laba rugi bulan ini, dia hanya perlu memanggil fungsi itu dg memberikan parameter2 sesuai yg dikehendaki dan telah ditentukan oleh business layer, dan ui akan menerima hasilnya, ui ga perlu tahu details yg dilakukan oleh business layer tadi.
 
pada waktu ui meminta perhitungan laba rugi tadi, business layer akan memanggil method lainnya yg ada di data layer agar mendapatkan semua data yg diperlukan u. melakukan perhitungan tadi. dia ga perlu tahu bagaimana dan dimana data2 itu disimpan, yg penting bagi dia adalah dia mendapatkan semua data yg dia perlukan tadi.
 
pada waktu terjadi revisi di satu bagian, sebisa mungkin jaga backward compatibility dg versi sebelumnya, agar kita ga perlu merubah layer lainnya.
 
contoh lainnya adalah web service, u. mendapatkan hasil yg kita inginkan (mis: currency converter, weather forecast dll), kita cukup tahu lokasi service nya dan methods apa aja yg dia punya yg bisa langsung kita pakai u. mendapatkan hasil yg kita inginkan, tanpa perlu tahu bagaimana cara mereka mendapatkannya.
 
8. Increase the cohesion within your software.
 
pecah masing2 fungsi ke bagian2 kecil yg berdiri sendiri/independen. ini u. mempermudah maintenance dan reusability of the code. biasanya masing2 fungsi ini kemudian dikelompokan berdasarkan kriteria tertentu dan dibuat menjadi sebuah komponen (mis: dll)

best regards
[wwn]
 
On 5/8/06, johan max <[EMAIL PROTECTED]> wrote:
7. Reduce the coupling within your software.

Systems that exhibit high coupling are difficult to
maintain; a change in one place requires another
change, which in turn requires another, and then
another—you get the point. You can reduce coupling by
hiding implementation details, enforcing a defined
interface to your components, not having shared data
structures, and not letting applications directly
access data stores (my rule of thumb is that when
application programmers are writing SQL code, you've
lost the battle). The advantage of loosely coupled
software is that it is easier to reuse, maintain, and
enhance.

8. Increase the cohesion within your software.

A software component is cohesive if it fulfills only
one function, which means that highly cohesive
software is easier to maintain and enhance. To
determine whether or not a component is cohesive, see
if you can describe it in one simple sentence. If it
takes a paragraph, or you need to use a conjunction
such as "and" or "or," then you should probably
refactor it into several portions. Highly cohesive
software is also more likely to be reused.


Wahana Programmer Groups Links

<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
    http://wahanaprogrammer.net

<*> Untuk menghubungi owner milis ini, kirim email ke:
    [EMAIL PROTECTED]

<*> Konsultasi pemrogramman bisa chat disini:
    Yahoo! Messenger: wahanaprogrammer




SPONSORED LINKS
Programmer Indonesia Basic programming language
Computer programming languages Programming languages Java programming language


YAHOO! GROUPS LINKS




Kirim email ke