• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to frameworks
 

Introduction to frameworks

on

  • 170 views

 

Statistics

Views

Total Views
170
Views on SlideShare
170
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to frameworks Introduction to frameworks Presentation Transcript

    • 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 learning.
    • … 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 rules and I know how to program ... What else do I need…
    • 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 file. Certainly I find scroll bar is very useful.
    • 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.
    • 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 imagined.
    • 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.
    • 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 thousands of developers• How ?????• …
    • 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. Like, – Point Table – Player Switching – Board status – Pieces – Save, load, undo, redo etc….
    • DRY• If I implement them again it will be wastage of time.• Dont Repeat Yourself (DRY)• Reduce repetition of code of all kinds
    • 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 can develop this games very fast without repeating myself.
    • 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.
    • 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
    • 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.
    • Few Frameworks• For web application – Symfony – Zend – CodeIgniter – CakePHP – .NET – Django• For desktop application – Qt C++ – WxWidget
    • • 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
    • 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?