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

Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Example of dfd with answer
Example of dfd with answerExample of dfd with answer
Example of dfd with answerMahmoud Bakeer
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns pptAman Jain
 
Engineering Software Products: 1. software products
Engineering Software Products: 1. software productsEngineering Software Products: 1. software products
Engineering Software Products: 1. software productssoftware-engineering-book
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra pptGirdharRatne
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMSkoolkampus
 

What's hot (20)

Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Example of dfd with answer
Example of dfd with answerExample of dfd with answer
Example of dfd with answer
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
Engineering Software Products: 1. software products
Engineering Software Products: 1. software productsEngineering Software Products: 1. software products
Engineering Software Products: 1. software products
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
 
Uml
UmlUml
Uml
 
Event handling
Event handlingEvent handling
Event handling
 
Introduction to java programming part 1
Introduction to java programming part 1Introduction to java programming part 1
Introduction to java programming part 1
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
 

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
 
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
 
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.VijiPriyaVijiPriya 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

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

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