0
Introduction to Frameworks
ObjectiveI want to be a software engineer
My first application• I don’t know any language • Well let’s choose a language for application  programming and start lea...
… after 2 month• I have learned programming .. I am good at it  and I can build any thing …. 
My first application• As I can build anything I want to build a  chess… I am a very good chess player.• I know all the rul...
Week 1
Week 2
Week 3
My first application• After three weeks 600 lines of code.• Ok it’s easy.• After a month it’s 3500 lines of code in one  f...
My first application• But when a bug occurs … lets debug it.• Now it seems building application is not as fun  as it ought...
My first application• Writing in one file creating problems .. :-?                                             3686
My first applicationOk I will write small codes in different files…
My first applicationOMG now I have 100 files and to change something I have to change 10 files … it is worstthan I imagin...
My first applicationI think I have found the problem .. Thisapplication may be very big and I alone can’tcomplete it. Let’...
My first application• Arrrrghhhh….• Well we code differently so many  misunderstanding… it complicates things more
My first application• Let’s stop trying and toiling• Think, how people writes a code which has  millions of lines and thou...
My first application• Let’s see what can be done…• There is something wrong . What is the  problem ?
Solutions• Separability• Independence• Readablity
My first application• Ok I successfully build a chess game• Now I want to build checker or other board  games.
My Next Applications• I am so lazy, but I have to handle some things  again that I have handled in chess game  before. Lik...
DRY• If I implement them again it will be wastage of  time.• Dont Repeat Yourself (DRY)• Reduce repetition of code of all ...
DRY• I want to reuse code that I used before in  chess game
DRY• The functions need to customize as it was  written in chess game i have to change it so  that it also work for checker.
DRY• Some times this changes are different because  there are so many options and varieties of  board games
DRY• If I write those functionalities in a sort of  generalized way such that it can be used in all  board games.• Then I ...
DRY• Now I can separate the similar codes that I can  reuse for these board games.• If I need to build checker then I need...
DRY• If there is a structure that has similar features  for these games then I do not need to start  from the beginning.• ...
Frameworks• The structure that I built to use for all board  games can be called framework.• A reusable set of libraries o...
Few Frameworks• For web application  –   Symfony  –   Zend  –   CodeIgniter  –   CakePHP  –   .NET  –   Django• For deskto...
• Here is an idea. I am a human why should I  repeat another humans work.• I havent coded yet but I need not to because  s...
MVC
Model• "Represent knowledge"• The data/business functionality
View• Visual representation of the model• The screens and widgets of app• Gets data from model & updates model
Controller• Link between user and system• Responsible for intercepting user input• Passes user input to view via messages
Questions?
Upcoming SlideShare
Loading in...5
×

04. introduction to frameworks

668

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
668
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "04. introduction to frameworks"

  1. 1. Introduction to Frameworks
  2. 2. ObjectiveI want to be a software engineer
  3. 3. My first application• I don’t know any language • Well let’s choose a language for application programming and start learning.
  4. 4. … after 2 month• I have learned programming .. I am good at it and I can build any thing …. 
  5. 5. My first application• As I can build anything I want to build a chess… I am a very good chess player.• I know all the rules and I know how to program ... What else do I need…
  6. 6. Week 1
  7. 7. Week 2
  8. 8. Week 3
  9. 9. My first application• After three weeks 600 lines of code.• Ok it’s easy.• After a month it’s 3500 lines of code in one file. Certainly I find scroll bar is very useful.
  10. 10. My first application• But when a bug occurs … lets debug it.• Now it seems building application is not as fun as it ought to be.• Now after learning a good lesson … well try something different.
  11. 11. My first application• Writing in one file creating problems .. :-? 3686
  12. 12. My first applicationOk I will write small codes in different files…
  13. 13. My first applicationOMG now I have 100 files and to change something I have to change 10 files … it is worstthan I imagined.
  14. 14. My first applicationI think I have found the problem .. Thisapplication may be very big and I alone can’tcomplete it. Let’s ask a friend.
  15. 15. My first application• Arrrrghhhh….• Well we code differently so many misunderstanding… it complicates things more
  16. 16. My first application• Let’s stop trying and toiling• Think, how people writes a code which has millions of lines and thousands of developers• How ?????• …
  17. 17. My first application• Let’s see what can be done…• There is something wrong . What is the problem ?
  18. 18. Solutions• Separability• Independence• Readablity
  19. 19. My first application• Ok I successfully build a chess game• Now I want to build checker or other board games.
  20. 20. My Next Applications• I am so lazy, but I have to handle some things again that I have handled in chess game before. Like, – Point Table – Player Switching – Board status – Pieces – Save, load, undo, redo etc….
  21. 21. DRY• If I implement them again it will be wastage of time.• Dont Repeat Yourself (DRY)• Reduce repetition of code of all kinds
  22. 22. DRY• I want to reuse code that I used before in chess game
  23. 23. DRY• The functions need to customize as it was written in chess game i have to change it so that it also work for checker.
  24. 24. DRY• Some times this changes are different because there are so many options and varieties of board games
  25. 25. DRY• If I write those functionalities in a sort of generalized way such that it can be used in all board games.• Then I can develop this games very fast without repeating myself.
  26. 26. DRY• Now I can separate the similar codes that I can reuse for these board games.• If I need to build checker then I need similar structure as chess game.
  27. 27. DRY• If there is a structure that has similar features for these games then I do not need to start from the beginning.• I can straight jump into game logic. logic
  28. 28. Frameworks• The structure that I built to use for all board games can be called framework.• A reusable set of libraries or classes for a software system.• Used to implement the standard structure of an application.
  29. 29. Few Frameworks• For web application – Symfony – Zend – CodeIgniter – CakePHP – .NET – Django• For desktop application – Qt C++ – WxWidget
  30. 30. • Here is an idea. I am a human why should I repeat another humans work.• I havent coded yet but I need not to because some one has already coded it for others to reuse.• There is no point to reinvent the wheel
  31. 31. MVC
  32. 32. Model• "Represent knowledge"• The data/business functionality
  33. 33. View• Visual representation of the model• The screens and widgets of app• Gets data from model & updates model
  34. 34. Controller• Link between user and system• Responsible for intercepting user input• Passes user input to view via messages
  35. 35. Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×