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

Introduction to frameworks






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
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?