尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Integrative Coding:
Design Patterns;
Interfaces;
Inheritance.
Miscellaneous Issues:
Adopt andAdapt vs. make;
Versioning and version control
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 1
 Design pattern:
 A Lower level framework for structuring an application than architectures (Sometimes,
called micro-architecture).
 Reusable collaborations that solve sub problems within an application.
 Why Design Patterns?
 Design patterns support object-oriented reuse at a high level of abstraction
 Design patterns provide a “framework” that guides and constrains object-oriented
implementation
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 2
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 3
 The Gang of Four (GoF) Design Patterns book describes twenty-three
patterns arranged into three groups.
 The groups help classify how the patterns are used.
1. Creational patterns : used to help make a system independent of how its
objects are created, composed and represented.
2. Structural patterns are concerned with how classes and objects are
organized and composed to build larger structures.
3. Behavioral patterns are used to deal with assignment of responsibilities
to objects and communication between objects.
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 4
Creational Patterns
 Abstract Factory - create instances of other objects
Eg:-creatingGUI components for different GUI toolkits
 Factory Method -common interface for creating subclasses
 Singleton -create only one instance of a class
Structural Patterns
 Decorator - add more responsibilities to an object dynamically
Eg:- adding scrolling to a text view
 Facade- higher level unified interface to a set of objects in a subsystem
 Proxy- interface layer between objects
Behavioral Patterns
 Iterator- a means to access all the elements of objects sequentially
 Momento- capture and save the current state of an object
 Observer- when any numbers of objects (the Observers) need to be
notified automatically
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 5
Application Programming Interfaces
 Are sets of requirements that govern how one application can talk to
another
 applications to share data and take actions on one another's behalf
without requiring developers to share all of their software's code
 define exactly how a program will interact with the rest of the software
world—saving time, resources
 Eg:- System-levelAPIs- cut and paste LibreOffice document into an
Excel spreadsheet
 Eg:-FacebookAPIs- Facebook users sign into many apps andWeb sites
using their Facebook ID
 Eg:-WebAPIs – games let players chat, post high scores and invite
friends to play via Face book, right there in the middle of a game
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 6
Inheritance
 derive a new class based on an existing class, with modifications or
extensions
 A subclass inherits all the variables and methods from its super classes,
including its immediate parent as well as all the ancestors
 avoid duplication and reduce redundancy
Types of Inheritance
 Simple , Multilevel, Multiple, hierarchical and Hybrid
Inheritance and Abstract class
 Abstract Method:- a method with only signature (i.e., the method name,
the list of arguments and the return type) without implementation (i.e.,
the method’s body).
 use the keyword abstract to declare an abstract method
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 7
Abstract Class
 A class containing one or more abstract methods is called an abstract
class.
 must be declared with a class-modifier abstract
 provides a template for further development
Notes:
 An abstract method cannot be declared final, as final method cannot be
overridden.
 An abstract method must be overridden in a descendent before it can
be used.
 An abstract method cannot be private (which generates a compilation
error, because private method is not visible to the subclass and thus
cannot be overridden.
In Java, define a subclass using the keyword "extends", e.g.,
class MyApplet extends java.applet.Applet {.....}
class Cylinder extends Circle {......}
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 8
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 9
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 10
 Shape.java
abstract public class Shape
{
private String color; // Private member variable
public Shape (String color) // Constructor
{ this.color = color;
}
public String toString()
{
return "Shape of color="" + color + """;
}
// All Shape subclasses must implement a method called getArea()
abstract public double getArea();
}
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 11
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 12
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 13
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 14
 Version control enables multiple people to simultaneously work on a
single project.
 Each person edits his or her own copy of the files and chooses when to
share those changes with the rest of the team.
 temporary or partial edits by one person do not interfere with another
person's work.
 enables one person to use multiple computers to work on a project
 integrates work done simultaneously by different team members
 In rare cases, when two people make conflicting edits to the same line of
a file, then the version control system requests human assistance in
deciding what to do
 Version control gives access to historical versions of the project
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 15
 If make a mistake, roll back to a previous version. reproduce and
understand a bug report on a past version of your software.
 undo specific edits without losing all the work that was done in the
meanwhile.
 For any part of a file, determine when, why, and by whom it was ever
edited.
 Version control uses a repository (a database of changes) and a working
copy (checkout) where you do your work
 working copy is your personal copy of all the files in the project.
edits to this copy, without affecting your teammates. commit your
changes to a repository
 repository is database of all the edits to, and/or historical versions
(snapshots) of, your project
update your working copy to incorporate any new edits or versions
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 16
 Two varieties of version control: centralized (one repository) and
distributed (multiple repositories)
 Some popular version control systems are Mercurial (distributed), Git
(distributed), and Subversion (centralized).
 The main difference between centralized and distributed version control
is the number of repositories.
 In centralized version control, there is just one repository, and in
distributed version control, there are multiple repositories.
8/12/2015
Presented by Dr. J.VijiPriya,Assistant Professor,
Hawassa University, Ethiopia 17

More Related Content

What's hot

Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
MUKALU STEVEN
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Aprajita (Abbey) Singh
 
Frame layout
Frame layoutFrame layout
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
Sanae BEKKAR
 
introduction to visual basic PPT.pptx
introduction to visual basic PPT.pptxintroduction to visual basic PPT.pptx
introduction to visual basic PPT.pptx
classall
 
Semi Detailed Lesson Plan in Programming Languages
Semi Detailed Lesson Plan in Programming LanguagesSemi Detailed Lesson Plan in Programming Languages
Semi Detailed Lesson Plan in Programming Languages
Manila Central University
 
Rubric
RubricRubric
Peer to-peer network
Peer to-peer networkPeer to-peer network
Peer to-peer network
EILLEN IVY PORTUGUEZ
 
Server operating system
Server operating systemServer operating system
Server operating system
Tapan Khilar
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Rad model
Rad modelRad model
Do's & Don'ts Inside a Computer Lab
Do's & Don'ts Inside a Computer LabDo's & Don'ts Inside a Computer Lab
Do's & Don'ts Inside a Computer Lab
Maria Eloisa Blanza
 
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
Marvin Bronoso
 
Application Development and Emerging Technologies.pptx
Application Development and Emerging Technologies.pptxApplication Development and Emerging Technologies.pptx
Application Development and Emerging Technologies.pptx
KENNEDYDONATO1
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Setting up a network
Setting up a networkSetting up a network
Setting up a network
Rachel Espino
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 
Context model
Context modelContext model
Context model
Ubaid423
 

What's hot (20)

Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Frame layout
Frame layoutFrame layout
Frame layout
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
introduction to visual basic PPT.pptx
introduction to visual basic PPT.pptxintroduction to visual basic PPT.pptx
introduction to visual basic PPT.pptx
 
Semi Detailed Lesson Plan in Programming Languages
Semi Detailed Lesson Plan in Programming LanguagesSemi Detailed Lesson Plan in Programming Languages
Semi Detailed Lesson Plan in Programming Languages
 
Rubric
RubricRubric
Rubric
 
Peer to-peer network
Peer to-peer networkPeer to-peer network
Peer to-peer network
 
Server operating system
Server operating systemServer operating system
Server operating system
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Rad model
Rad modelRad model
Rad model
 
Do's & Don'ts Inside a Computer Lab
Do's & Don'ts Inside a Computer LabDo's & Don'ts Inside a Computer Lab
Do's & Don'ts Inside a Computer Lab
 
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
CSS L15 - CRIMPING ETHERNET CABLE AND RJ45
 
Application Development and Emerging Technologies.pptx
Application Development and Emerging Technologies.pptxApplication Development and Emerging Technologies.pptx
Application Development and Emerging Technologies.pptx
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Setting up a network
Setting up a networkSetting up a network
Setting up a network
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Context model
Context modelContext model
Context model
 

Similar to Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya

Sustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into SoftwareSustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into Software
Software Sustainability Institute
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
jiali zhang
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 May
Martin Turner
 
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
Dr. J. VijiPriya  Information and Communication Technology Chapter 5,6Dr. J. VijiPriya  Information and Communication Technology Chapter 5,6
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
VijiPriya Jeyamani
 
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEWONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ijait
 
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ijait
 
Do It Yourself LMS: Open-Source and Hi-Tech Possibilities
Do It Yourself LMS: Open-Source and Hi-Tech PossibilitiesDo It Yourself LMS: Open-Source and Hi-Tech Possibilities
Do It Yourself LMS: Open-Source and Hi-Tech Possibilities
grandeped
 
Managing Citations: What's Actually Helpful? 2013-10
Managing Citations: What's Actually Helpful? 2013-10Managing Citations: What's Actually Helpful? 2013-10
Managing Citations: What's Actually Helpful? 2013-10
Institute for Research on Teaching & Learning
 
Episode an extreme programming method for innovative software based on system...
Episode an extreme programming method for innovative software based on system...Episode an extreme programming method for innovative software based on system...
Episode an extreme programming method for innovative software based on system...
IJCSEA Journal
 
1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools
CARLOS ALARIO
 
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docxSimulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
edgar6wallace88877
 
The quality & richness of E-Education
The quality & richness of E-EducationThe quality & richness of E-Education
The quality & richness of E-Education
Suraj Mehta
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updated
Mohammed Ali Khan
 
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
VijiPriya Jeyamani
 
VIVO at the University of Idaho
VIVO at the University of IdahoVIVO at the University of Idaho
VIVO at the University of Idaho
anniegaines
 
Free and Open Source for Education
Free and Open Source for EducationFree and Open Source for Education
Free and Open Source for Education
Savitri Wilder
 
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Julie Meloni
 
Bhagat Myexperiment Bosc2008
Bhagat Myexperiment Bosc2008Bhagat Myexperiment Bosc2008
Bhagat Myexperiment Bosc2008
bosc_2008
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
Martin Chapman
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
Annika Eriksson
 

Similar to Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya (20)

Sustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into SoftwareSustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into Software
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 May
 
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
Dr. J. VijiPriya  Information and Communication Technology Chapter 5,6Dr. J. VijiPriya  Information and Communication Technology Chapter 5,6
Dr. J. VijiPriya Information and Communication Technology Chapter 5,6
 
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEWONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
 
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS – A REVIEW
 
Do It Yourself LMS: Open-Source and Hi-Tech Possibilities
Do It Yourself LMS: Open-Source and Hi-Tech PossibilitiesDo It Yourself LMS: Open-Source and Hi-Tech Possibilities
Do It Yourself LMS: Open-Source and Hi-Tech Possibilities
 
Managing Citations: What's Actually Helpful? 2013-10
Managing Citations: What's Actually Helpful? 2013-10Managing Citations: What's Actually Helpful? 2013-10
Managing Citations: What's Actually Helpful? 2013-10
 
Episode an extreme programming method for innovative software based on system...
Episode an extreme programming method for innovative software based on system...Episode an extreme programming method for innovative software based on system...
Episode an extreme programming method for innovative software based on system...
 
1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools
 
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docxSimulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
Simulation Modelling Practice and Theory 47 (2014) 28–45Cont.docx
 
The quality & richness of E-Education
The quality & richness of E-EducationThe quality & richness of E-Education
The quality & richness of E-Education
 
MK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updatedMK_MSc_Degree_Project_Report ver 5_updated
MK_MSc_Degree_Project_Report ver 5_updated
 
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
Human Computer Interaction Chapter 4 Implementation Support and Evaluation Te...
 
VIVO at the University of Idaho
VIVO at the University of IdahoVIVO at the University of Idaho
VIVO at the University of Idaho
 
Free and Open Source for Education
Free and Open Source for EducationFree and Open Source for Education
Free and Open Source for Education
 
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
 
Bhagat Myexperiment Bosc2008
Bhagat Myexperiment Bosc2008Bhagat Myexperiment Bosc2008
Bhagat Myexperiment Bosc2008
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
 

More from VijiPriya Jeyamani

Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
VijiPriya Jeyamani
 
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
VijiPriya Jeyamani
 
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
VijiPriya Jeyamani
 
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
Human Computer Interaction Chapter 3 HCI in the Software Process and  Design ...Human Computer Interaction Chapter 3 HCI in the Software Process and  Design ...
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
VijiPriya Jeyamani
 
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
Human Computer Interaction Chapter 5 Universal Design and User Support -  Dr....Human Computer Interaction Chapter 5 Universal Design and User Support -  Dr....
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
VijiPriya Jeyamani
 
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
 Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
VijiPriya Jeyamani
 
CLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriyaCLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriya
VijiPriya Jeyamani
 
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriyaInformation and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
VijiPriya Jeyamani
 

More from VijiPriya Jeyamani (8)

Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
Dr. J. VijiPriya - Information and Communication Technology Chapter 8 The Int...
 
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
Dr. J. VijiPriya - Information Communication and Technology Chapter 7 Data Co...
 
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
 
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
Human Computer Interaction Chapter 3 HCI in the Software Process and  Design ...Human Computer Interaction Chapter 3 HCI in the Software Process and  Design ...
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
 
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
Human Computer Interaction Chapter 5 Universal Design and User Support -  Dr....Human Computer Interaction Chapter 5 Universal Design and User Support -  Dr....
Human Computer Interaction Chapter 5 Universal Design and User Support - Dr....
 
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
 Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
Expert System Lecture Notes Chapter 1,2,3,4,5 - Dr.J.VijiPriya
 
CLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriyaCLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriya
 
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriyaInformation and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
Information and Communication Technology Chapter 1,2 ,3 - Dr.J.VijiPriya
 

Recently uploaded

An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
ScyllaDB
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
manji sharman06
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
Databarracks
 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
Enterprise Knowledge
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Overkill Security
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
Kieran Kunhya
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Safe Software
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
ThousandEyes
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
ScyllaDB
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
UiPathCommunity
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
ThousandEyes
 

Recently uploaded (20)

An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
 

Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya

  • 1. Integrative Coding: Design Patterns; Interfaces; Inheritance. Miscellaneous Issues: Adopt andAdapt vs. make; Versioning and version control 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 1
  • 2.  Design pattern:  A Lower level framework for structuring an application than architectures (Sometimes, called micro-architecture).  Reusable collaborations that solve sub problems within an application.  Why Design Patterns?  Design patterns support object-oriented reuse at a high level of abstraction  Design patterns provide a “framework” that guides and constrains object-oriented implementation 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 2
  • 3. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 3
  • 4.  The Gang of Four (GoF) Design Patterns book describes twenty-three patterns arranged into three groups.  The groups help classify how the patterns are used. 1. Creational patterns : used to help make a system independent of how its objects are created, composed and represented. 2. Structural patterns are concerned with how classes and objects are organized and composed to build larger structures. 3. Behavioral patterns are used to deal with assignment of responsibilities to objects and communication between objects. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 4
  • 5. Creational Patterns  Abstract Factory - create instances of other objects Eg:-creatingGUI components for different GUI toolkits  Factory Method -common interface for creating subclasses  Singleton -create only one instance of a class Structural Patterns  Decorator - add more responsibilities to an object dynamically Eg:- adding scrolling to a text view  Facade- higher level unified interface to a set of objects in a subsystem  Proxy- interface layer between objects Behavioral Patterns  Iterator- a means to access all the elements of objects sequentially  Momento- capture and save the current state of an object  Observer- when any numbers of objects (the Observers) need to be notified automatically 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 5
  • 6. Application Programming Interfaces  Are sets of requirements that govern how one application can talk to another  applications to share data and take actions on one another's behalf without requiring developers to share all of their software's code  define exactly how a program will interact with the rest of the software world—saving time, resources  Eg:- System-levelAPIs- cut and paste LibreOffice document into an Excel spreadsheet  Eg:-FacebookAPIs- Facebook users sign into many apps andWeb sites using their Facebook ID  Eg:-WebAPIs – games let players chat, post high scores and invite friends to play via Face book, right there in the middle of a game 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 6
  • 7. Inheritance  derive a new class based on an existing class, with modifications or extensions  A subclass inherits all the variables and methods from its super classes, including its immediate parent as well as all the ancestors  avoid duplication and reduce redundancy Types of Inheritance  Simple , Multilevel, Multiple, hierarchical and Hybrid Inheritance and Abstract class  Abstract Method:- a method with only signature (i.e., the method name, the list of arguments and the return type) without implementation (i.e., the method’s body).  use the keyword abstract to declare an abstract method 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 7
  • 8. Abstract Class  A class containing one or more abstract methods is called an abstract class.  must be declared with a class-modifier abstract  provides a template for further development Notes:  An abstract method cannot be declared final, as final method cannot be overridden.  An abstract method must be overridden in a descendent before it can be used.  An abstract method cannot be private (which generates a compilation error, because private method is not visible to the subclass and thus cannot be overridden. In Java, define a subclass using the keyword "extends", e.g., class MyApplet extends java.applet.Applet {.....} class Cylinder extends Circle {......} 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 8
  • 9. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 9
  • 10. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 10
  • 11.  Shape.java abstract public class Shape { private String color; // Private member variable public Shape (String color) // Constructor { this.color = color; } public String toString() { return "Shape of color="" + color + """; } // All Shape subclasses must implement a method called getArea() abstract public double getArea(); } 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 11
  • 12. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 12
  • 13. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 13
  • 14. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 14
  • 15.  Version control enables multiple people to simultaneously work on a single project.  Each person edits his or her own copy of the files and chooses when to share those changes with the rest of the team.  temporary or partial edits by one person do not interfere with another person's work.  enables one person to use multiple computers to work on a project  integrates work done simultaneously by different team members  In rare cases, when two people make conflicting edits to the same line of a file, then the version control system requests human assistance in deciding what to do  Version control gives access to historical versions of the project 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 15
  • 16.  If make a mistake, roll back to a previous version. reproduce and understand a bug report on a past version of your software.  undo specific edits without losing all the work that was done in the meanwhile.  For any part of a file, determine when, why, and by whom it was ever edited.  Version control uses a repository (a database of changes) and a working copy (checkout) where you do your work  working copy is your personal copy of all the files in the project. edits to this copy, without affecting your teammates. commit your changes to a repository  repository is database of all the edits to, and/or historical versions (snapshots) of, your project update your working copy to incorporate any new edits or versions 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 16
  • 17.  Two varieties of version control: centralized (one repository) and distributed (multiple repositories)  Some popular version control systems are Mercurial (distributed), Git (distributed), and Subversion (centralized).  The main difference between centralized and distributed version control is the number of repositories.  In centralized version control, there is just one repository, and in distributed version control, there are multiple repositories. 8/12/2015 Presented by Dr. J.VijiPriya,Assistant Professor, Hawassa University, Ethiopia 17
  翻译: