<< Chapter < Page Chapter >> Page >

A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectivelyoverridden or specialized by user code providing specific functionality.

Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined API, yet they contain some keydistinguishing features that separate them from normal libraries.

Software frameworks have these distinguishing features that separate them from libraries or normal user applications:

  1. inversion of control - In a framework, unlike in libraries or normal user applications, the overall program's flow of controlis not dictated by the caller, but by the framework.
  2. default behavior - A framework has a default behavior. This default behavior must actually be some useful behavior and not a seriesof no-ops.
  3. extensibility - A framework can be extended by the user by selective overriding of framework code in order to provide specificfunctionality
  4. non-modifiable framework code - The framework code, in general should not normally be modified by the user. Users can extend theframework, but normally should not modify its code.

In short, a software framework is a computer program that helps you to write computer programs.

The Processing PDE fits all of these characteristics of a framework.

Inversion of control

By default, the overall flow of control of a Processing sketch is beyond the control of the programmer. When the sketch starts running, the setup method will be called once and (by default) the draw method will be called repeatedly at a default rate of 60 calls per second.

A small window will be displayed in the default Java display mode. If you haven't overridden the draw method to control the contents of that window, it will look something like that shown in Image 1 .

Image 1. default display window.

Default display window
Image 1. Default display window.

Create the body of a class

Image 2 shows a screen shot of the PDE with program code showing in the leftmost tab.

Image 2. the pde.

The PDE.
Image 2. The PDE.

When you create a new sketch in the PDE and enter code in the leftmost tab, you are actually writing the body of a new class witha class name that matches the name of the tab. The code that you see in Image 2 , for example, constitutes the body of a new class named Cars .

Override setup and draw methods

In general, you need to override the methods named setup and draw in the body of this class. It is the code that you write in these two overridden methods that controls the behavior of the sketch.

The setup method will be called once when you click the run button. You should place any code that needs to be executed to initialize the state of the sketch in this method. Often this code willinitialize variables, instantiate new objects, etc.

After that, by default, the draw method will be called repeatedly until you terminate execution of the sketch. You need to write codein the draw method that controls the ongoing behavior of the sketch. Often, this code will call methods on existing objects, modify thecontents of variables, instantiate and call methods on new objects, etc.

Questions & Answers

how do we prove the quadratic formular
Seidu Reply
hello, if you have a question about Algebra 2. I may be able to help. I am an Algebra 2 Teacher
Shirley Reply
thank you help me with how to prove the quadratic equation
Seidu
may God blessed u for that. Please I want u to help me in sets.
Opoku
what is math number
Tric Reply
4
Trista
x-2y+3z=-3 2x-y+z=7 -x+3y-z=6
Sidiki Reply
Need help solving this problem (2/7)^-2
Simone Reply
x+2y-z=7
Sidiki
what is the coefficient of -4×
Mehri Reply
-1
Shedrak
the operation * is x * y =x + y/ 1+(x × y) show if the operation is commutative if x × y is not equal to -1
Alfred Reply
An investment account was opened with an initial deposit of $9,600 and earns 7.4% interest, compounded continuously. How much will the account be worth after 15 years?
Kala Reply
lim x to infinity e^1-e^-1/log(1+x)
given eccentricity and a point find the equiation
Moses Reply
12, 17, 22.... 25th term
Alexandra Reply
12, 17, 22.... 25th term
Akash
College algebra is really hard?
Shirleen Reply
Absolutely, for me. My problems with math started in First grade...involving a nun Sister Anastasia, bad vision, talking & getting expelled from Catholic school. When it comes to math I just can't focus and all I can hear is our family silverware banging and clanging on the pink Formica table.
Carole
I'm 13 and I understand it great
AJ
I am 1 year old but I can do it! 1+1=2 proof very hard for me though.
Atone
Not really they are just easy concepts which can be understood if you have great basics. I am 14 I understood them easily.
Vedant
hi vedant can u help me with some assignments
Solomon
find the 15th term of the geometric sequince whose first is 18 and last term of 387
Jerwin Reply
I know this work
salma
The given of f(x=x-2. then what is the value of this f(3) 5f(x+1)
virgelyn Reply
hmm well what is the answer
Abhi
If f(x) = x-2 then, f(3) when 5f(x+1) 5((3-2)+1) 5(1+1) 5(2) 10
Augustine
how do they get the third part x = (32)5/4
kinnecy Reply
make 5/4 into a mixed number, make that a decimal, and then multiply 32 by the decimal 5/4 turns out to be
AJ
how
Sheref
A soccer field is a rectangle 130 meters wide and 110 meters long. The coach asks players to run from one corner to the other corner diagonally across. What is that distance, to the nearest tenths place.
Kimberly Reply
Jeannette has $5 and $10 bills in her wallet. The number of fives is three more than six times the number of tens. Let t represent the number of tens. Write an expression for the number of fives.
August Reply
What is the expressiin for seven less than four times the number of nickels
Leonardo Reply
How do i figure this problem out.
how do you translate this in Algebraic Expressions
linda Reply
why surface tension is zero at critical temperature
Shanjida
I think if critical temperature denote high temperature then a liquid stats boils that time the water stats to evaporate so some moles of h2o to up and due to high temp the bonding break they have low density so it can be a reason
s.
Need to simplify the expresin. 3/7 (x+y)-1/7 (x-1)=
Crystal Reply
. After 3 months on a diet, Lisa had lost 12% of her original weight. She lost 21 pounds. What was Lisa's original weight?
Chris Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, The processing programming environment. OpenStax CNX. Feb 26, 2013 Download for free at http://cnx.org/content/col11492/1.5
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'The processing programming environment' conversation and receive update notifications?

Ask