Application Refactoring With Design Patterns

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Application Refactoring With Design Patterns - Presentation Transcript

    1. Application Refactoring with D i P tt ith Design Patterns Mark Tabladillo, Ph.D. March 31, 2003
    2. Introduction The YTSS (Youth Tobacco Surveillance System) started in 1998 y ) YTS = Youth Tobacco Survey GYTS = Global Youth Tobacco Survey Since 1998, over 1,000,000 surveys have b h been processed f 35 states and d for t t d 100 international sites
    3. Design Patterns Inherency “Design Pattern” = Routine solution to a reoccurring p g problem Observer Pattern = Model/View Mediator Pattern = SAS/AF Frame Singleton Pattern = Frames and SCL standalone code Point: Patterns are inherently inside SAS and operating systems
    4. How to Start with Design Patterns Shalloway and Trott (2002), Design p Patterns Explained Patterns do not stand alone, but interact Pattern relationships improve with refactoring (defined as the intentional restructuring of classes)
    5. When to Create Design Patterns A previous project has reusable code Current code is large Good for long-term or complex applications (especially to allow for modifications)
    6. Specific Development Strategy Customized nonvisual classes First version 6 12 was used 6.12 Datasets generate code (see other paper) Conversion to version 8 and consolidation lid ti
    7. Output Class Changing printer orientation (landscape vs. portrait) p ) Changing printer font and font size In Windows 2000 margin specification 2000, needs to drive linesize and pagesize
    8. Win32 Class Put all Windows functionality in one p place Accesses a table with Windows 32 errors Calls Win32 API with SASCBTBL Interfaces a windows Visual Basic I t f i d Vi lB i control
    9. Region Class “Region” is the base level of y customization for surveys Drives the assignment of LIBNAMEs Defines output filenames
    10. SurveyAnalyzer Strategy Design Pattern – have five p g programs to run, and the class , determines which one to use Consolidation: Later refactored along with the region class
    11. Dataset Attribute Classes ATTRC/ATTRN information Open and Close Datasets Children have: Al Always VARNUM Sometimes VARLEN Sometimes VARTYPE S ti Sometimes values
    12. Final Classes Expansion: enumerated structure Hierarchy SurveyYear State Region AnnualCode (periodically updated) SentenceParser (functional)
    13. New Changes Expansion: enumerated structure SurveyYearAnalyzer StateAnalyzer RegionAnalyzer Analyzer classes form abstract base for processes, processes now in their own classes Total Classes Currently: 44
    14. Applying Refactoring How organized is organized?? Refactoring is choreographed Sometimes expansion Sometimes consolidation Coding frameworks are increasingly important, important even for web work
    15. Four Lessons Recognize that all intentionally structured languages have inherent design pattern structure. Consider adding design patterns even if it means more code.d Expect to continuously apply refactoring to large or complex applications. l l li ti Continuously learn and apply design patterns.

    + Mark TabladilloMark Tabladillo, 2 years ago

    custom

    556 views, 0 favs, 0 embeds more stats

    This presentation will describe the object-oriented more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 556
      • 556 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 14
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories