State pattern is one of the behavioral design pattern. The state pattern is a behavioral software design pattern that implements a state machine in an object-oriented way. In State pattern, we create objects which represent various states and a context object whose behavior varies as its state object changes.
The main idea of fusion is to combine a set of models each of which solves the same original task in order to obtain a better model with more accuracy.
Lex is officially known as a "Lexical Analyser".
Yacc (for "yet another compiler compiler." ) is the standard parser generator for the Unix operating system.
High speed computing was implemented in supercomputer for scientific research. HPC clusters provide the most efficient, flexible, cost effective computing environments for HPC simulations.
The main idea of fusion is to combine a set of models each of which solves the same original task in order to obtain a better model with more accuracy.
Lex is officially known as a "Lexical Analyser".
Yacc (for "yet another compiler compiler." ) is the standard parser generator for the Unix operating system.
High speed computing was implemented in supercomputer for scientific research. HPC clusters provide the most efficient, flexible, cost effective computing environments for HPC simulations.
Lex is officially known as a "Lexical Analyser". It's main job is to break up an input stream into more usable elements.
Yacc is officially known as a "parser". In the course of it's normal work, the parser also verifies that the input is syntactically sound.
All these acronyms are often loosely used in the field of technology. It is important to understand that all these acronyms are part of Artificial Intelligence (AI) umbrella.
An array is the data structure that contains a collection of similar type data elements and It is better and convenient way of storing the data of same data type with same size.
Artificial Intelligence is the study of how to make computers do things at the moment, and do better. AI important elements:
- think like humans
- act like humans
- think rationally
- act rationally
Factor analysis is a technique that is used to reduce a large number of variables into fewer numbers of factors. This technique extracts maximum common variance from all variables and puts them into a common score.
CSS stands for Cascading Style Sheets. CSS depicts about how HTML elements are to be displayed on screen, different media devices. It saves a lot of time for styling many pages of a big website just at once with single control file.
Adapter pattern works as a bridge between two incompatible interfaces. This type of design pattern comes under structural pattern as this pattern combines the capability of two independent interfaces.
The theory of computation is a branch of computer science and mathematics combined. It deals with how efficiently problems can be solved on a model of computation, using an algorithm.
Lex is called as lexical analyzer, it is a first phase of compiler design.
YACC is a parser generator that takes an input file with an attribute-enriched BNF grammar specification.
In data communication and networking, a Protocol defines the rules that both the sender and receiver and all intermediate devices need to follow to be able to communicate effectively.
DevOps is a culture which promotes collaboration between Development and Operations Team to deploy code to production faster in an automated & repeatable way.
A database is simply an organized collection of related data, typically stored on disk, and accessible by possibly many concurrent users. Databases are generally separated into application areas.
A Database Management System (DBMS) is a set of programs that manages any number of databases.
Wireless sensor network is a distributed system consisting of a large number of low-cost wireless sensor nodes equipped with a small processor with limited memory, RF trans-receiver, antenna, sensing elements and are powered with small batteries and solar cells.
Storyboarding can strengthen the user experience elements of your designs. Wireframe is a low fidelity layout of the design.
Prototype captures the intent of a design and simulates multiple states of that design.
In software engineering, behavioral design patterns are design patterns that identify common communication patterns between objects and realize these patterns.
Smart computing, next-generation computing, is a combination of hardware, software, and network to provide real-time awareness of real-time systems. The real world gets smart by connecting it to a computer, and computer get smart by connecting to the real world.
Bias: It is the amount by which Machine Learning (ML) model predictions differ from the actual value of the target.
Variance: It is the amount by which the ML model prediction would change if we estimate it using different training datasets.
Lex is officially known as a "Lexical Analyser". It's main job is to break up an input stream into more usable elements.
Yacc is officially known as a "parser". In the course of it's normal work, the parser also verifies that the input is syntactically sound.
All these acronyms are often loosely used in the field of technology. It is important to understand that all these acronyms are part of Artificial Intelligence (AI) umbrella.
An array is the data structure that contains a collection of similar type data elements and It is better and convenient way of storing the data of same data type with same size.
Artificial Intelligence is the study of how to make computers do things at the moment, and do better. AI important elements:
- think like humans
- act like humans
- think rationally
- act rationally
Factor analysis is a technique that is used to reduce a large number of variables into fewer numbers of factors. This technique extracts maximum common variance from all variables and puts them into a common score.
CSS stands for Cascading Style Sheets. CSS depicts about how HTML elements are to be displayed on screen, different media devices. It saves a lot of time for styling many pages of a big website just at once with single control file.
Adapter pattern works as a bridge between two incompatible interfaces. This type of design pattern comes under structural pattern as this pattern combines the capability of two independent interfaces.
The theory of computation is a branch of computer science and mathematics combined. It deals with how efficiently problems can be solved on a model of computation, using an algorithm.
Lex is called as lexical analyzer, it is a first phase of compiler design.
YACC is a parser generator that takes an input file with an attribute-enriched BNF grammar specification.
In data communication and networking, a Protocol defines the rules that both the sender and receiver and all intermediate devices need to follow to be able to communicate effectively.
DevOps is a culture which promotes collaboration between Development and Operations Team to deploy code to production faster in an automated & repeatable way.
A database is simply an organized collection of related data, typically stored on disk, and accessible by possibly many concurrent users. Databases are generally separated into application areas.
A Database Management System (DBMS) is a set of programs that manages any number of databases.
Wireless sensor network is a distributed system consisting of a large number of low-cost wireless sensor nodes equipped with a small processor with limited memory, RF trans-receiver, antenna, sensing elements and are powered with small batteries and solar cells.
Storyboarding can strengthen the user experience elements of your designs. Wireframe is a low fidelity layout of the design.
Prototype captures the intent of a design and simulates multiple states of that design.
In software engineering, behavioral design patterns are design patterns that identify common communication patterns between objects and realize these patterns.
Smart computing, next-generation computing, is a combination of hardware, software, and network to provide real-time awareness of real-time systems. The real world gets smart by connecting it to a computer, and computer get smart by connecting to the real world.
Bias: It is the amount by which Machine Learning (ML) model predictions differ from the actual value of the target.
Variance: It is the amount by which the ML model prediction would change if we estimate it using different training datasets.
The smart closet would provide a user with suggestions of outfits from the user’s closet. The basic motivation behind this application is to reduce everyday stress of finding the appropriate attire for an occasion by taking into consideration the current weather.
Agile IT: Modern Architecture for Rapid Mobile App DevelopmentAnyPresence
Chris Marsh, Principal Analyst at 451 Research and Rich Mendis, Chief Product and Marketing Officer at AnyPresence, share current trends and best practices to build a progressive mobile architecture and enable your business to compete in today’s mobile world.
The process of reducing a given DFA to its minimal form is called as minimization of DFA. DFA minimization is also called as Optimization of DFA and uses partitioning algorithm.
NLP is a tool for computers to analyse, comprehend, and derive meaning from natural language in an intelligent and useful way. Natural language processing helps computers communicate with humans in their own language and scales other language-related tasks.
As a student, you should be developing work ethic and etiquette skill sets to prepare you for the work environment. Developing professional habits and manners is more important now than ever before.
Writing skills include all the knowledge and abilities related to expressing yourself through the written word. Here you can find activities to practise your writing skills.
Professional communication in written form requires skill and expertise. And whether you're starting a new job, introducing yourself at a networking event or pitching for new work, here are some things to consider ...
Servlets work on the server-side. Servlets are capable of handling complex requests obtained from the web-server. There are many (competing) server-side technologies available: Java-based (servlet, JSP, JSF, Struts, Spring, Hibernate), ASP, PHP, CGI Script, and many others.
Jenkin is an open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
Data science, Know as data-driven science, is also an interdisciplinary field of scientific methods, processes, algorithms, and systems to extract knowledge or insights from data in various forms, either structured or unstructured, similar to data mining.
Sentiment Analysis has become a hot-trend topic of scientific and market research; it is a natural language processing technique used to determine whether data is positive, negative or neutral.
The popular object-oriented languages are Java, C#, PHP, Python, C++, etc. The main aim of object-oriented programming is to implement real-world entities.
Power BI is a business analytics service by Microsoft. BI
Microsoft Power BI is a suite of business intelligence (BI), reporting, and data visualization products and services for individuals and teams. You can access your data from anywhere with the Power BI app.
AVL tree Named after their inventor Adelson, Velski & Landis, is a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees cannot be more than one for all nodes.
Yoga — a mind-body practice — is considered one of many types of complementary and integrative health approaches. Yoga brings together physical and mental disciplines that may help you achieve peacefulness of body and mind.
LR parsing is one type of bottom up parsing. In the LR parsing, "L" stands for left-to-right scanning of the input.
"R" stands for constructing a right most derivation in reverse.
Sampling is fundamental process to move towards digitalization, which converts analog signal into discrete samples. Sampling theorem gives minimum sampling rate requirement so as to recover original message signal. After sampling original signal can be reconstructed without distortion, only if it is a band limited signal.
More from International Institute of Information Technology (I²IT) (20)
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
1. 1
DESIGN PATTERNS :
State Pattern
By
RAVI P. PATKI
Associate Professor (IT)
Hope Foundation’s
International Institute of Information Technology
2. 2
Agenda
Introduction
Problem in Software Design /code
Definition of State Pattern
Solution to Problem in terms of
Strategy Pattern
Advantages
Implementation of State Pattern
Applications
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
3. 3
Introduction
State pattern is one of the behavioral design
pattern.
State design pattern is used when an Object change
it’s behavior based on it’s internal state.
The state pattern is a behavioral software design
pattern that implements a state machine in an
object-oriented way.
With the state pattern, a state machine is
implemented by implementing each individual state
as a derived class of the state pattern interface, and
implementing state transitions by invoking methods
defined by the pattern's super class.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
4. 4
This pattern is used in computer programming to
encapsulate varying behavior for the same
object based on its internal state.
This can be a cleaner way for an object to
change its behavior at runtime without resorting
to large monolithic /huge conditional
statements and thus improve maintainability.
Introduction
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
5. 5
Example
The State pattern allows an object to change its behavior when its internal
state changes. This pattern can be observed in a vending machine.
Vending machines have states based on the inventory, amount of currency
deposited, the ability to make change, the item selected, etc.
When currency is deposited and a selection is made, a vending machine will
either
deliver a product and no change,
deliver a product and change,
deliver no product due to insufficient currency on deposit, or
deliver no product due to inventory depletion.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
6. 6
Problem in Software Design
Tired of conditionals?
When writing code, our classes often go through a series of
transformations.
What starts out as a simple class will grow as behavior is added.
if you didn’t take the necessary precautions, your code will become
difficult to understand and maintain.
Too often, the state of an object is kept by creating multiple Boolean
attributes and deciding how to behave based on the values.
This can become cumbersome and difficult to maintain when the
complexity of your class starts to increase.
This is a common problem on most projects.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
7. 7
Suppose we want to implement a TV Remote object with a simple button to
perform action, if the State is ON, it will turn on the TV and if state is OFF, it will
turn off the TV. We can implement it using if-else condition like below;
Problem in Software Design
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
8. 8
Problem in Software Design
What are the problems with above design?
Notice that
client code should know the specific values to use for setting the state of
remote,
further more if number of states increase then the tight coupling between
implementation and the client code will be very hard to maintain and extend.
How can we avoid this?
Design / Code will become more cleaner by using Enums and Switches or
multiple if then else (Similar to our SavingAccount object in Assignment no.3)
Here in this solutions Instead of a bunch of flags, we will just have one state_
field. We also flip the order of our branching.
But again code become monolithic or as single block.
This is a common problem on most projects, and it is wise to model it with a
Finite State Machine.
In fact, there is a design pattern called State that address this very well, so
you can find hundreds of gems implementing this pattern.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
9. 9
Definition : State Pattern
The State pattern is known as a behavioural pattern - it's
used to manage algorithms, relationships and
responsibilities between objects.
In State pattern a class behavior changes based on its
state. This type of design pattern comes under behavior
pattern.
In State pattern, we create objects which represent
various states and a context object whose behavior varies
as its state object changes.
The definition of State provided in the original Gang of
Four book on Design Patterns states:
“Allows an object to alter its behaviour when its
internal state changes. The object will appear to
change its class.”
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
10. 10
Definition : State Pattern
Let's take a look at the diagram definition
The Context can have a number of
internal States, whenever the
request() method is called on the
Context, the message is delegated
to the State to handle.
The State interface defines a
common interface for all concrete
states, encapsulating all behaviour
associated with a particular state.
The ConcreteState implements it's
own implementation for the request.
When a Context changes state, what
really happens is that we have a
different ConcreteState associated
with it.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
11. 11
Definition : State Pattern
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
12. 12
Solution to Problem in Terms of State
State Interface
First of all we will create State interface that will define
the method that should be implemented by different
concrete states and context class.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
13. 13
Solution to Problem in Terms of State
Concrete State Implementations
In our example, we can have two states – one for turning TV on and another
to turn it off. So we will create two concrete state implementations for these
behaviors.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
14. 14
Now we are ready to implement our Context object that will change it’s behavior
based on it’s internal state.
Context Implementation
Solution to Problem in Terms of State
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
15. 15
Test Program /Client Program
Now let’s write a simple program to test our implementation of TV Remote using
State pattern.
Solution to Problem in Terms of State
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
16. 16
The benefits of using State pattern to implement
polymorphic behavior is clearly visible,
the chances of error are less and it’s very easy to
add more states for additional behavior making it
more robust,
easily maintainable and flexible.
Also State pattern helped in avoiding if-else or
switch-case conditional logic in this scenario.
Avoiding inconsistent states
Putting all associated behavior together in one
state object
Removes monolithic if or case statements
Advantages
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
17. 17
Implementation
Steps to implementation
Create an interface /create our state interface
Create concrete classes implementing the same interface.
Create Context Class. /set up a context
Use the Context to see change in behaviour when State
changes.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
18. 18
Implementation
We are going to create a State interface defining an action and concrete state
classes implementing the State interface.
Context is a class which carries a State.
StatePatternDemo, our demo class, will use Context and state objects to
demonstrate change in Context behavior based on type of state it is in.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
19. 19
Implementation
Step 1
Create an interface.
State.java
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
20. 20
Implementation
Step 2
Create concrete classes implementing the same interface.
StartState.java
StopState.java
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
21. 21
Implementation
Step 3
Create Context Class.
Context.java
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
22. 22
Implementation
Step 4
Use the Context to see change in behaviour when State changes.
StatePatternDemo.java
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
23. 23
Step 5
Verify the output.
Implementation
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
24. 24
Applications
Where Would I Use This Pattern?
You should use the State pattern when the behaviour of
an object should be influenced by it's state, and when
complex conditions tie object behaviour to it's state.
Hope Foundation’s International Institute of Information Technology, I²IT, P-14 Rajiv Gandhi
Infotech Park, Hinjawadi, Pune - 411 057
Tel - +91 20 22933441 / 2 / 3 | Website - www.isquareit.edu.in ; Email - info@isquareit.edu.in
25. 25
THANK YOU
For further information please feel free to contact
Dr. Ravi Patki
ravip@isquareit.edu.in
Department of Information Technology,
Hope Foundation’s International Institute of Information Technology, I²IT
P-14, Rajiv Gandhi Infotech Park, Hinjawadi, MIDC Phase I
Pune – 411057
Tel +91 20 22933441
www.isquareit.edu.in; info@isquareit.edu.in