17
Module ve Mixin
17.1
Module nedir?
En genel anlamıyla, modül (module), programın iyi düzenlenmesini sağlayan yapı taşlarıdır. modül, fiziksel olarak düzenlenmiş ve farklı dosyalara
yazılmış Ruby kodlarının lojik olarak biraraya getirilmesini sağlar. Bir modül değişkenler, yürütülebilir kodlar, fonksiyonlar, sınıflar içerebilir. İçerdiği öğeler farklı dosyalarda, farklı fiziksel ortamlarda olabilir. Bir modül
bir programa çağrılınca, o modülün içindekiler, sanki o programa yazılmış
gibi davranırlar.
17.2
Neden Module?
Belli bir işi yapmak için metot tanımlamayı öğrendik. Belli nitelikleri ve
davranışları olan nesneler yaratmak için de sınıf (class) tanımlamayı biliyoruz. Bunlar programımızın istediğimiz eylemleri yapması için yararlı
öğelerdir. Ama, bir programda yazdığımız metodu ya da sınıfı başka bir
programda kullanmak istersek, şu ana kadar, kes-yapıştır yöntemi dışında
bir yol bilmiyoruz. Çok sayıda metot ve sınıf kullanan büyük programlarda
kes-yapıştır yöntemi ideal bir yöntem değildir. Onun yerine, önceden yaratılan metotları ve sınıfları kullanmanın daha iyi bir yolu olmalıdır. Modül
(module) bu kolaylığı sağlar.
Sınıfları incelerken, Bir Ruby sınıfının en çok bir tane üst sınıfı olabileceğini, ama istenildiği kadar alt sınıfları olabileceğini söylemiştik. Tabii,
alt sınıfların da başka alt sınıfları olabilir. Böylece atadan oğula giden sa-
Download

Module ve Mixin 17.1 Module nedir? 17.2 Neden Module?