Kategori arşivi: Java

JAVA ile programlama.

Adapter Pattern Nedir Nerelerde Kullanılır ?

Merhaba,

Bugün yazılım geliştirme modellerinden olan Adapter patterninden bahsedeceğim.

Client : Geliştirdiğiniz yazılımı arayüzünü kullanarak yazılım geliştiren kişi.

Bazı durumlarda client sunduğunuz kodda kalıbı bozmadan ufak değişiklikler yaparak yazılımını geliştirmesi gerekebilir. Bazen ise yazılım tamamemn sunduğunuz arayüzden bağımsız olarak geliştirilebilir. Örneğin bir roket simulasyon programını düşünelim. Bu program sizin sağladığınız roket bilgilerine göre geliştirilebileceği gibi client roketin nasıl olması gerektiğini hangi durumlarda nasıl davranması gerektiğini de programlamak isteyebilir. Client’ın sunduğunuz servislerini direk olarak kullanmasını sağlamak veya metod isimlerini kendine göre özelleştirip servis etmek istediniz durumlarda Adapter modelini kullanabilirsiniz.

Adapter’in amacı : Client’ın beklediği servisleri, farklı bir arayüz ile o sınıfa ait servisleri kullanabileceği yapıyı oluşturmaktır.

adapterExampleUmlDiagram

Resimdeki “NewClass” sınıfı adapter’a örnektir. Bu sınıftan üretilen nesne aynı zamanda “RequiredInterface” arayüzününde nesnesi olacaktır. Daha somut bir örnek verelim :
Roketlerin uçuş ve zamanlamalarını simule eden bir paket üzerinde çalışıyorsunuz. Elimizdeki pakette roketin davranışına göre olayları simule eden bir olay simulatörü olduğunu varsayalım. Elinizde ise fiziksel özellikleri PhysicalRocket sınıfında belirlenmiş bir roketiniz var. Simulasyon paketini kullanarak roketi simule etmek istiyorsunuz. Bu durumda PhysicalRocket sınıfının alt sınıfını oluşturup RocketSimInterface arayüzünü implement ederek Adapter modelini kullanabilirsiniz.

adapter4

Class diyagramının implementi ise aşağıdaki gibi olacaktır :

879 total views, no views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Maven Local Repo’ya .jar Yükleme

Merhaba;

Elinizde bi .jar uzantılı dosyanız var ve bunun pom.xml’i mevcut değilse bu jar dosyasını aşağıdaki komutla local reponuza ekleyebilirsiniz:

mvn install:install-file
-Dfile= -DgroupId=
-DartifactId=
-Dversion=
-Dpackaging= -DgeneratePom=true

Where: yüklenecek dosya yolu
jar’ın grup idsi.
jar’ın artifact idsi.
dosyanın versiyonu dosyanın uzantısı..(Örn: .jar)

İyi çalışmalar.

Kaynak : Maven

575 total views, 2 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

ADB Terminal Otomatik Tamamlama Script Kurulumu

Merhaba arkadaşlar;

Ubuntu’nun paketlerindeki adb ve repo komutlarını kullanıyorsanız TAB tuşunu ile otomatik tamamlanmadıklarını göreceksiniz. Kuracağımız script sayesinde otomatik tamamlamayı sağlayacağız.

1. Terminal penceresi açalım ve aşağıdaki komut ile “bash-completion” paketini indirelim.

# sudo apt-get install bash-completion

2. Bu adresteki android ve repo scriptlerini indirin.

3. Android ve repo dizinine giderek bu scriptleri“/etc/bash_completion.d/” altına kopyalayalım.

#sudo cp android /etc/bash_completion.d/

#sudo cp repo /etc/bash_completion.d/

4. Terminali yeniden başlatalım.

5. Sonuç :

adb_auto_complete

Kaynak : www.adilkaraoz.com

İyi çalışmalar.

732 total views, 2 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Android Studio & SDK Permission Problemi ve Çözümü

Merhaba arkadaşlar özellikle linux sürümü kullanıyorsanız sıklıkla karşılaşacağınız permission sorununu çözelim. Genelde SDK veya Android Studio’yu indirip /home dizini dışında /opt /usr tarzı superuser izinli bir yere taşıyınca SDK ve Studio doğrudan çalışmıyor update edilirken veya açılırken hata veriyor. Bunun çözümü için çok basit 2 yol var.

Birinci yol :

Studio veya SDK’nın kurulu olduğu dizin ve altdizinlere tüm izinleri vermek. (Tavsiye ETMİYORUM)
Studio’nun /opt de olduğunu varsayarsak :

#sudo chmod -R 777 /opt/android-studio

komutu ile izinleri sağlayabilir olası hataları engelleyebilirsiniz. İkinci yol ise bence daha güzel olan kullanıcımızı o dizini çalıştıran gruba eklemek: Bunun içinse :

# sudo usermod -G root -a [kullanıcıadınız]

komutuyla root grubuna kendinizi ekleyerek bu uygulamaları sorunsuzca kullanabilirsiniz.

1,044 total views, 1 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail