
#dc#dc comics#batman#dick grayson#bruce wayne#tim drake#batfam#dc fanart#batfamily




seen from United States

seen from Singapore

seen from Japan
seen from United Kingdom

seen from United States

seen from United Kingdom
seen from China
seen from Malaysia
seen from Chile
seen from China
seen from Argentina
seen from Malaysia
seen from China
seen from Japan

seen from Malaysia
seen from China

seen from Malaysia

seen from United States
seen from United States

seen from Malaysia

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Interface Segregation Principle Tutorial with Java Coding Example for Be...
Hello friends, new #video on #interfacesegregationprinciple #solidprinciples with #Java #coding #example is published on #codeonedigest #youtube channel. Learn #isp #interfacesegregation #principle #interface #programming #coding with codeonedigest.
@java #java #awscloud @awscloud @AWSCloudIndia #Cloud #CloudComputing @YouTube #interfacesegregationprinciple #interfacesegregationprinciplesolid #isp #ispprinciple #interfacesegregationprinciple #interface #interfacesegregationjava #solidprinciples #solidprinciplesinterviewquestions #solidprinciplesjavainterviewquestions #solidprinciplesreact #solidprinciplesinandroid #solidprinciplestutorial #solidprinciplesexplained #solidprinciplesjava #singleresponsibilityprinciple #openclosedprinciple #liskovsubstitutionprinciple #interfacesegregationprinciple #dependencyinversionprinciple #objectorientedprogramming #objectorienteddesignandmodelling #objectorienteddesign #objectorienteddesignsoftwareengineering #objectorienteddesigninterviewquestions #objectorienteddesignandanalysis #objectorienteddesigninjava #objectorienteddesignmodel #objectorienteddesignapproach #objectorienteddesignparadigm #objectorienteddesignquestions
Design Principles - Interface Segregation Principle
Bir uygulamanın tasarımı yapılırken birçok alt modülü kapsayan bir modülün nasıl abstract hale getirileceğine dikkat etmek gerekir. Eğer Interface'leri kullanacaksak, yeni özellikler eklerken Interface'in durumu önemlidir. Interface'in içinde farklı modüllerin hepsini kapsayacak kod yazılmışsa ve alt modüller bazı metodları kullanıyor bazılarını kullanmıyorsa, bu tip Interface'lere Fat Interface veya Polluted Interface denir. Interface içindeki metodlar kimi modüle yarıyor kimine yaramıyorsa bu Interface'i bölmekte fayda vardır.
Interface Segregation Prensibine göre alt modüller Interface'i implemente ederken işine yaramayan kısımları tanımlamak zorunda olmamalıdır.
Örnek
Aşağıda ki kod yapısı, Interface Segregation Disiplinine aykırı tasarlanmıştır. Örneğin, şirkette çalışanları yöneten bir Müdür(Manager), bir normal çalışan (Worker) ve birde süper çalışanımız var(SuperWorker). Bu çalışanlar öğlenleri yemek molası veriyorlar. Derken firmaya robotlar geliyor. Robotların yemek molasına ihtiyaçları yok. Ama robot da bir çalışan olduğu için IWorker'ı implemente etmek zorunda. Böyle bir durumda Robotlar içinde yemek molası tanımlamak zorunda kalıyorsunuz ki tamamen lüzumsuz ve yanlış iş. Bundan dolayı ki artık IWorker Interface'i Polluted Interface olmuştur.
// interface segregation principle - bad example interface IWorker { public void work(); public void eat(); } class Worker implements IWorker{ public void work() { // ....working } public void eat() { // ...... eating in launch break } } class SuperWorker implements IWorker{ public void work() { //.... working much more } public void eat() { //.... eating in launch break } } class Manager { IWorker worker; public void setWorker(IWorker w) { worker=w; } public void manage() { worker.work(); } }
Interface Segregation Prensibine göre düzenlenmiş kod da ise, IWorker interface'i mantık çerçevesinde ikiye bölünmüş durumda. Böylece robotlara artık yemek molası tanımlamak zorunda kalınmazken diğer çalışanlar için herşey yolunda.
// interface segregation principle - good example interface IWorker extends Feedable, Workable { } interface IWorkable { public void work(); } interface IFeedable{ public void eat(); } class Worker implements IWorkable, IFeedable{ public void work() { // ....working } public void eat() { //.... eating in launch break } } class Robot implements IWorkable{ public void work() { // ....working } } class SuperWorker implements IWorkable, IFeedable{ public void work() { //.... working much more } public void eat() { //.... eating in launch break } } class Manager { Workable worker; public void setWorker(Workable w) { worker=w; } public void manage() { worker.work(); } }
Sonuç
Eğer mevcut projenizde hali hazırda tanımlanmış Polluted (Fat) Interface'leriniz varsa onları Adapter Pattern kullanarak ayrıştırabilirsiniz.
Diğer tüm prensipler gibi Interface Segregation Prensibini de uygulamak fazladan uğraş ve zaman ister. Hatta kodunuzu karmaşık hale de getirebilir. Ama neticesinde esnek bir yapı elde edersiniz. Bu prensibi uygularken her bir metod için bir Interface yapma yöntemine giderseniz işin içinden çıkamazsınız. En makulu, tecrübeleri ve hissiyatınızı kullanmanızdır. Aman ha, bu prensibe bağlı kalacağım diye gereksiz bir sürü Interface'in içinde boğulmayın.