SlideShare a Scribd company logo
Java Interfaces
Design Perspective
Chennai Java Summit - 2013

Manigandan Venkataraman
shivamanik@gmail.com
Agenda
●

Application

●

Interface – What is an Interface

●

Components and Interface

●

Java Interface

●

Abstraction & Interfaces

●

Design Patterns

●

Good Design Practices
Applications
●

Applications that can grow
●

Plugins and Addons

●

Examples
–
–

●

Application should grow
–

●

Browser - Firefox
IDE – Eclipse, Netbeans
Provide plugin/ addon design

How to design such an application???
Interface
●

What is an INTERFACE

●

Tell me the interface for this room
●

Doors

●

Windows

●

Interfaces are nothing but communication points

●

How do you interface with your Bike or Car

●

Interfaces to the Computer
●

USB, HDMI, VGA , Serial Ports

●

Will this device work with my computer????
Components
println

PrintWriter

Public Interfaces are API
sum(int,int)

MyCalculator
sub(int,int)

Component Interface = method signature + return type
Operation

WebService
operation
●

●

RMI – Stubs and
Skeletons
We need Remote
Interfaces to compile
the local code

●

●

Webservice
endpoints are
interfaces
Only interface and
NO LOGIC
Java Interface
●

A way to implement multiple inheritance

●

Interface is a collection of abstract methods
●

●

now, we can have default implemented methods too
.... :)

All methods in an interface are public
Abstraction
●

What does Abstract mean ???

●

I need to go to Mumbai – abstract statement
●

Whats missing
–
–
–

●

Means of transport
Date and time
Budget

I am travelling to Mumbai on Monday 7 am, by
Indigo – Concrete Statement
Abstraction
●

Your College Project
●

Abstract - ????
–
–
–

●

Problem Statement
Solution
Whats missing - How ??? The Implemention

Where's the Implementation
–

The whole project is the Implementation !!!! ;)
Abstraction
●

An idea without Implementation

●

Why do we need it??
●

Object Oriented Design

Interfaces have abstract methods
Abstraction and Interfaces
●

Runnable Interface
●

<Code>

●

What it does

●

JVM has to deal with unknown code

●

Its not aware of Our Code

●

Interface Design provides Loose Coupling

●

Eclipse Rich Client Platform

●

Netbeans Platform
Design Patterns
●

Mixture of Abstract Classes and Interfaces

●

No logic, only provides a guideline/approach

●

Upto to programmer to write an implementation
– logic
Good Design Practices
●

Program to an interface , not to implementation
●
●

●

Spring Framework
Code can grow, more implementations

clients remain unaware
●

●

●

of the specific types of objects they use, as long as the
object adheres to the interface
of the classes that implement these objects; clients only
know about the abstract class(es) defining the interface

Use of an interface also leads to dynamic binding and
polymorphism
Thank You

More Related Content

What's hot (20)

PPTX
Futuristic programing language
Mohamed Zaki
 
ODP
Review june2014 june2015
Ikuru Kanuma
 
PDF
Pair Programming (2015)
Peter Kofler
 
PDF
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum
 
PDF
Gem API design
Emily Stolfo
 
PDF
Create first android app with MVVM Architecture
khushbu thakker
 
PDF
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
Matheus Marabesi
 
ODP
PHP Code Quality
Usman Zafar
 
PPTX
Tech Talk Tokyo #2 tetsuya matsuzawa
Rarejob
 
PDF
Design patterns in PHP - PHP TEAM
Nishant Shrivastava
 
PDF
Mvvm is like born fraction
Ken Haneda
 
PPTX
HotelQuickly Product & Engineering
Michal Juhas
 
PDF
RealDay: Angular.js
Miguel Schmitz Grazziotin
 
PDF
Coding Dojo: Mars Rover (2014)
Peter Kofler
 
PPTX
Php[tek] 2016 - BDD with Behat for Beginners
Adam Englander
 
PPTX
Chapter 3 what is programming
Pro Guide
 
PDF
Your first 5 PHP design patterns - ThatConference 2012
Aaron Saray
 
PPTX
Introducing the JAQ (Java, Angular, Sql/NoSQL) Stack
Suren Konathala
 
DOCX
Accenture
Snehil Singh
 
PDF
GDCR15 in Las Palmas, Gran Canaria
Peter Kofler
 
Futuristic programing language
Mohamed Zaki
 
Review june2014 june2015
Ikuru Kanuma
 
Pair Programming (2015)
Peter Kofler
 
Infinum Android Talks #19 - Stop wasting time fixing bugs with TDD by Domagoj...
Infinum
 
Gem API design
Emily Stolfo
 
Create first android app with MVVM Architecture
khushbu thakker
 
GDG Passo fundo - Apps with unit tests (Karma + jasmine + angular)
Matheus Marabesi
 
PHP Code Quality
Usman Zafar
 
Tech Talk Tokyo #2 tetsuya matsuzawa
Rarejob
 
Design patterns in PHP - PHP TEAM
Nishant Shrivastava
 
Mvvm is like born fraction
Ken Haneda
 
HotelQuickly Product & Engineering
Michal Juhas
 
RealDay: Angular.js
Miguel Schmitz Grazziotin
 
Coding Dojo: Mars Rover (2014)
Peter Kofler
 
Php[tek] 2016 - BDD with Behat for Beginners
Adam Englander
 
Chapter 3 what is programming
Pro Guide
 
Your first 5 PHP design patterns - ThatConference 2012
Aaron Saray
 
Introducing the JAQ (Java, Angular, Sql/NoSQL) Stack
Suren Konathala
 
Accenture
Snehil Singh
 
GDCR15 in Las Palmas, Gran Canaria
Peter Kofler
 

Viewers also liked (9)

PDF
The list interface (the java™ tutorials collections interfaces)
charan kumar
 
PPT
Java Programming - Abstract Class and Interface
Oum Saokosal
 
PPTX
Java interfaces
jehan1987
 
PPTX
Java interface
BHUVIJAYAVELU
 
PPTX
Abstract class and Interface
Haris Bin Zahid
 
PDF
Java - Interfaces & Packages
Arindam Ghosh
 
PPT
Java interfaces & abstract classes
Shreyans Pathak
 
PPS
Interface
kamal kotecha
 
The list interface (the java™ tutorials collections interfaces)
charan kumar
 
Java Programming - Abstract Class and Interface
Oum Saokosal
 
Java interfaces
jehan1987
 
Java interface
BHUVIJAYAVELU
 
Abstract class and Interface
Haris Bin Zahid
 
Java - Interfaces & Packages
Arindam Ghosh
 
Java interfaces & abstract classes
Shreyans Pathak
 
Interface
kamal kotecha
 
Ad

Similar to Java interfaces design perspective (20)

PPTX
Web Development - Roadmap to MERN stack development
SwapnilNarayan
 
PPTX
HOW TO START (ANYTHING ABOUT CODE).pptx
ssuser62b2da
 
PDF
Deccan ruby-conf-talk
prchaudhari
 
PDF
Software development. xp, agile, etc.
Phil Rukin
 
PDF
Programming for non tech entrepreneurs
Rodrigo Gil
 
PDF
Making sense of the front-end, for PHP developers
Lewiz
 
PDF
React for non techies
Amy Crimmens
 
PPTX
Android jetpack compose | Declarative UI
Ajinkya Saswade
 
PDF
SFD 2014: Multiplatform App Development with Migeran
Gergely Kis
 
PDF
React for Non Techies
Jack Hoy
 
PDF
React for non techies
React London Community
 
PDF
Introduction to React Native
Polidea
 
PDF
On component interface
Laurence Chen
 
PDF
Clean Architecture in Android. UPTech TechTalk
Halyna Halkina
 
PDF
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
Careervira
 
PPTX
Appium an introduction
Vivek Shringi
 
PPTX
Anypoint Code Builder
ideadocsanjau
 
PPTX
Website Designing Courses in chandigarh.pptx
SeoDiscovery6
 
PPTX
From React to React Native - Things I wish I knew when I started
sparkfabrik
 
ODP
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
dcieslak
 
Web Development - Roadmap to MERN stack development
SwapnilNarayan
 
HOW TO START (ANYTHING ABOUT CODE).pptx
ssuser62b2da
 
Deccan ruby-conf-talk
prchaudhari
 
Software development. xp, agile, etc.
Phil Rukin
 
Programming for non tech entrepreneurs
Rodrigo Gil
 
Making sense of the front-end, for PHP developers
Lewiz
 
React for non techies
Amy Crimmens
 
Android jetpack compose | Declarative UI
Ajinkya Saswade
 
SFD 2014: Multiplatform App Development with Migeran
Gergely Kis
 
React for Non Techies
Jack Hoy
 
React for non techies
React London Community
 
Introduction to React Native
Polidea
 
On component interface
Laurence Chen
 
Clean Architecture in Android. UPTech TechTalk
Halyna Halkina
 
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
Careervira
 
Appium an introduction
Vivek Shringi
 
Anypoint Code Builder
ideadocsanjau
 
Website Designing Courses in chandigarh.pptx
SeoDiscovery6
 
From React to React Native - Things I wish I knew when I started
sparkfabrik
 
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
dcieslak
 
Ad

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Français Patch Tuesday - Juillet
Ivanti
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 

Java interfaces design perspective