SlideShare a Scribd company logo
1 of 17
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

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Architectural views
Architectural viewsArchitectural views
Architectural viewsSaleem Khan
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
IT 415 - Capstone Project Orientation
IT 415 - Capstone Project OrientationIT 415 - Capstone Project Orientation
IT 415 - Capstone Project OrientationSheryl Satorre
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Thesis on Library Management System | LMS | Project Report
Thesis on Library Management System | LMS | Project ReportThesis on Library Management System | LMS | Project Report
Thesis on Library Management System | LMS | Project ReportManish Sahani
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and designjayashri kolekar
 
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptxArianne47
 
Attendance management system project report.
Attendance management system project report.Attendance management system project report.
Attendance management system project report.Manoj Kumar
 
Module 1 - Information Assurance and Security 2.pdf
Module 1 - Information Assurance and Security 2.pdfModule 1 - Information Assurance and Security 2.pdf
Module 1 - Information Assurance and Security 2.pdfHumphrey Humphrey
 
Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0tokey_sport
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management SystemPranil Dukare
 
Online doctor appointment
Online doctor appointmentOnline doctor appointment
Online doctor appointmentAmna Nawazish
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 
STUDENT RECORD MANAGEMENT SYSTEM (1)
STUDENT RECORD MANAGEMENT SYSTEM (1)STUDENT RECORD MANAGEMENT SYSTEM (1)
STUDENT RECORD MANAGEMENT SYSTEM (1)Juliet Nandutu
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal SystemRajib Roy
 

What's hot (20)

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Architectural views
Architectural viewsArchitectural views
Architectural views
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
IT 415 - Capstone Project Orientation
IT 415 - Capstone Project OrientationIT 415 - Capstone Project Orientation
IT 415 - Capstone Project Orientation
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Thesis on Library Management System | LMS | Project Report
Thesis on Library Management System | LMS | Project ReportThesis on Library Management System | LMS | Project Report
Thesis on Library Management System | LMS | Project Report
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
System integration
System integrationSystem integration
System integration
 
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
444963864-INTEGRATIVE-PROGRAMMING-lesson1-pptx.pptx
 
Attendance management system project report.
Attendance management system project report.Attendance management system project report.
Attendance management system project report.
 
Module 1 - Information Assurance and Security 2.pdf
Module 1 - Information Assurance and Security 2.pdfModule 1 - Information Assurance and Security 2.pdf
Module 1 - Information Assurance and Security 2.pdf
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0Web 1.0, Web 2.0 & Web 3.0
Web 1.0, Web 2.0 & Web 3.0
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management System
 
Online doctor appointment
Online doctor appointmentOnline doctor appointment
Online doctor appointment
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
STUDENT RECORD MANAGEMENT SYSTEM (1)
STUDENT RECORD MANAGEMENT SYSTEM (1)STUDENT RECORD MANAGEMENT SYSTEM (1)
STUDENT RECORD MANAGEMENT SYSTEM (1)
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal System
 

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 SoftwareSoftware Sustainability Institute
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01jiali zhang
 
CREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayCREW VRE Release 5 - 2009 May
CREW VRE Release 5 - 2009 MayMartin 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,6VijiPriya 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 REVIEWijait
 
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 Possibilitiesgrandeped
 
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-integrationofexternaltoolsCARLOS 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.docxedgar6wallace88877
 
The quality & richness of E-Education
The quality & richness of E-EducationThe quality & richness of E-Education
The quality & richness of E-EducationSuraj 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_updatedMohammed 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 Idahoanniegaines
 
Free and Open Source for Education
Free and Open Source for EducationFree and Open Source for Education
Free and Open Source for EducationSavitri 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 Bosc2008bosc_2008
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype librariesMartin Chapman
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesAnnika 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
 
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriyaIPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriyaVijiPriya Jeyamani
 
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriyaIPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriyaVijiPriya 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.VijiPriyaVijiPriya Jeyamani
 
CLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriyaCLISP Lab Manual - Dr.J.VijiPriya
CLISP Lab Manual - Dr.J.VijiPriyaVijiPriya Jeyamani
 

More from VijiPriya Jeyamani (9)

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....
 
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriyaIPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
IPT Chapter 2 Web Services and Middleware - Dr. J. VijiPriya
 
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
IPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriyaIPT Chapter 3 Data Mapping and Exchange - Dr. J. VijiPriya
IPT Chapter 3 Data Mapping and Exchange - 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
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
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 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