{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":23,"n_cols":5,"rows_kept":23,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[7,2,7,3],[8,2,8,3],[10,2,10,3],[11,2,11,3],[15,2,15,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910972586803321"]
[null,null,"Autore",null,"Chazotte Ken"]
[null,null,"Titolo",null,"Build your own framework with Visual FoxPro / / Ken Chazotte"]
[null,null,"Pubbl/distr/stampa",null,"Whitefish Bay, WI, : Hentzenwerke Pub., 2004"]
[null,null,"ISBN",null,"1-280-54424-4"]
[{"$nulls":4},"9786610544240"]
[{"$nulls":4},"1-930919-54-9"]
[null,null,"Descrizione fisica",null,"1 online resource (353 p.)"]
[null,null,"Soggetti",null,"Visual programming languages (Computer science)"]
[{"$nulls":4},"Programming languages (Electronic computers)"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","\"Edited by Joe Johnston\"--Cover."]
[{"$nulls":4},"Includes index."]
[null,null,"Nota di contenuto",null,"\"\"Our Contract with You, The Reader\"\"; \"\"List of Chapters\"\"; \"\"Table of Contents\"\"; \"\"Acknowledgements\"\"; \"\"About the Authors\"\"; \"\"How to Download the Files\"\"; \"\"Chapter 1: Introduction\"\"; \"\"Who should read this book?\"\"; \"\"What is an application framework?\"\"; \"\"Why use a framework?\"\"; \"\"How is a framework different from a class library?\"\"; \"\"Elements of a framework\"\"; \"\"Reasons to create your own framework\"\"; \"\"Reasons to avoid developing your own framework\"\"; \"\"Framework mindset\"\"; \"\"Overview\"\"; \"\"How should I read this book?\"\"; \"\"A word about the approach presented in this book\"\""]
[{"$nulls":4},"\"\"Icons used in this book\"\"\"\"Summary\"\"; \"\"Chapter 2: Project Planning\"\"; \"\"Steering document\"\"; \"\"The goal statement\"\"; \"\"Guidelines\"\"; \"\"Objectives\"\"; \"\"Implementation plan\"\"; \"\"Requirements list\"\"; \"\"Design (implementation)\"\"; \"\"Task list\"\"; \"\"Test plan\"\"; \"\"Sample (excerpt)\"\"; \"\"Conventions\"\"; \"\"Summary\"\"; \"\"Chapter 3: Framework Architecture\"\"; \"\"Architectures and tiers\"\"; \"\"Presentation layer\"\"; \"\"Logic layer\"\"; \"\"Data layer\"\"; \"\"Separation of power\"\"; \"\"The approach in My Frame\"\"; \"\"Functional view\"\"; \"\"Application Variable Server (myAppVars)\"\"; \"\"Forms collection (myFormsCollection)\"\""]
[{"$nulls":4},"\"\"Location manager (myLocations)\"\"\"\"Messaging service (myMessages)\"\"; \"\"Preferences manager (myPreferences)\"\"; \"\"Security module (mySecurity)\"\"; \"\"System codes\"\"; \"\"Toolbars collection\"\"; \"\"Reports manager (myReports)\"\"; \"\"Error handler\"\"; \"\"Framework data model\"\"; \"\"Summary\"\"; \"\"Chapter 4: Techniques for Flexibility\"\"; \"\"Classes\"\"; "]
[{"$nulls":4},"\"\"Avoiding hard coding\"\"; \"\"Changing object composition\"\"; \"\"About the interface\"\"; \"\"Patternsâ€?Overview\"\"; \"\"Template method\"\"; \"\"Styles\"\"; \"\"Mediator and event binding\"\"; \"\"Factory method\"\"; \"\"Abstract factory\"\"; \"\"Delegation (bridge)\"\"; \"\"Proxyâ€?Overview\"\""]
[{"$nulls":4},"\"\"The proxy class in MyFrame\"\"\"\"Wrappers\"\"; \"\"Summary\"\"; \"\"Chapter 5: Beginning Development\"\"; \"\"Folder structure\"\"; \"\"Separating framework files from application files\"\"; \"\"Configuring the application folder\"\"; \"\"Configuring the framework folder\"\"; \"\"Project manager\"\"; \"\"Framework and application files\"\"; \"\"Starting a FoxPro application\"\"; \"\"aApplication\"\"; \"\"Creating the main programs\"\"; \"\"Main_Frame.prg\"\"; \"\"Main.prg\"\"; \"\"Summary\"\"; \"\"Chapter 6: Creating a Class Library\"\"; \"\"Base classes\"\"; \"\"A simple class library\"\"; \"\"Labels\"\"; \"\"Command buttons\"\"; \"\"Text boxes\"\"; \"\"Containers\"\""]
[{"$nulls":4},"\"\"Combo boxes\"\"\"\"Treeview control (MyTreeView)\"\"; \"\"Shapes\"\"; \"\"PageFrame, CommandGroup, and OptionGroup\"\"; \"\"PageFrame\"\"; \"\"Grids\"\"; \"\"Forms\"\"; \"\"Using framework classes in an application\"\"; \"\"Direct\"\"; \"\"Direct Subclass\"\"; \"\"CodeBook Style\"\"; \"\"Assembled In App\"\"; \"\"Rebuild\"\"; \"\"Meta Data\"\"; \"\"The recommended approach\"\"; \"\"Summary\"\"; \"\"Chapter 7: Environments and Sessions\"\"; \"\"Data sessions\"\"; \"\"Creating data sessions\"\"; \"\"Object scope\"\"; \"\"Environments\"\"; \"\"Data session environments\"\"; \"\"Save, set, and restore the environment\"\"; \"\"Implementing the environment classes\"\""]
[{"$nulls":4},"\"\"Creating a Session class\"\""]
[null,null,null,"Sommario/riassunto","Have you been frustrated by the steep learning curve associated with most frameworks? Then build your own Building your own framework can be a challenging and rewarding experience. Build Your Own Framework provides detailed guidelines for developers who wish to develop their own framework. In each chapter, you will see how to move from requirements into design and from design into implementation as you build MyFrame, the sample framework included with the book. Build Your Own Framework also walks you through the development of several developer tools that will bring a real boost in productivity to your development efforts.\""]