To Be Explicit Eric Avery 1.23.2003. Software Design Classes, Objects, Instantiation – clear as mud???????? How easy can your design be changed? VERY.

Slides:



Advertisements
Similar presentations
Using Commtap Communication Targets and Activities Project.
Advertisements

Data Structures.
P5, M1, D1.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Programs/Algorithms.  Computer Architecture  What is a computer program?  Flow chart  Data states  Data  Variables  History – Why VB?  Procedural.
1 Data Analysis Framework for DHC Tower Update - 07/28/2003 Kurt Francis - Northern Illinois University.
Slide 1 ICS 012 Visual Programming I Ahmed Esmat Second.
Chapter 14: Event-Driven Programming with Graphical User Interfaces
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Introduction to Visual Basic. What is Visual Basic? An environment for developing Windows applications Components –A GUI (Graphical User Interface - gooey)
Software Development Unit 6.
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Agile Design.
Copyrighted material John Tullis 8/13/2015 page 1 Blaze Software John Tullis DePaul Instructor
Programming Paradigms Imperative programming Functional programming Logic programming Event-driven programming Object-oriented programming A programming.
CS0004: Introduction to Programming Events. Review  Event Procedure  A set of instructions to be executed when a certain event happens.  Many event-driven.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Unit 20: Event Driven Programming
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
 Introduction Introduction  Purpose of Database SystemsPurpose of Database Systems  Levels of Abstraction Levels of Abstraction  Instances and Schemas.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
What is QTP ► QTP stands QuickTest Professional ► It is an automated testing tool provided by HP/Mercury Interactive ► QTP integrates with other Mercury.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Event Driven Programming
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Integrated Development Environment (IDE)
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
CSE 219 Computer Science III Program Design Principles.
Lab 6: event & input intro User Interface Lab: GUI Lab Oct. 2 nd, 2013.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Exploring Microsoft Access Chapter 8 Creating More Powerful Applications: Introduction to VBA.
Gawk in ALEPH Dror Berger - The National Library of Israel & IUCC (Inter-University Computation Centre) November 17, 20151Gawk in ALEPH - Dror Berger.
I Power Higher Computing Software Development Development Languages and Environments.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
Chapter One An Introduction to Programming and Visual Basic.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Debugging COMP T1.
Eclipse Debug Views Update Policy. 2 Agenda  Background  Requirements  How does it work now?  How to make it more flexible?
Chapter 1 Introduction Visual Basic.NET. Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi 2 Objectives Explain what Visual Basic is Contrast.
Unit 13 –JQuery Basics Instructor: Brent Presley.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Programming Objectives What is a programming language? Difference between source code and machine code What is python? – Where to get it from – How to.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Computer Language
Geospatial Research & Solutions GIS.ASU.EDU
Chapter Topics 15.1 Graphical User Interfaces
Introduction to Visual Basic 2008 Programming
Event-driven programming
Unit 20: Event Driven Programming
1. Introduction to Visual Basic
Lesson 1: Buttons and Events – 12/18
TRANSLATORS AND IDEs Key Revision Points.
Creating a Successful Web Presence
INFO/CSE 100, Spring 2005 Fluency in Information Technology
Event Driven Programming
Chapter One: An Introduction to Programming and Visual Basic
Chapter 15: GUI Applications & Event-Driven Programming
Tenth step for Learning C++ Programming
Overview of the IDE Visual Studio .NET is Microsoft’s Integrated Development Environment (IDE) for creating, running and debugging programs (also.
Programming Logic and Design Eighth Edition
Presentation transcript:

To Be Explicit Eric Avery

Software Design Classes, Objects, Instantiation – clear as mud???????? How easy can your design be changed? VERY IMPORTANT Durakon Purchase Requisition Approval Process Analogy

Classes: Explicit vs. Dictionary Design Explicit Design Less flexible class but easier to understand. Class is specific to what is stores Easier for the programmer to modify Dictionary Design Array like storage (or other methods) More flexible to use but difficult to understand. Class is not specific to what is stores Requires total system analysis to determine what the class does

Classes: Explicit vs. Dictionary Design CODE Calling Methods objEmployee.FirstName = “Eric” objEmployee.Title = “Ruler of the Universe” vs objEmployee(“PayRate”) = “UNDERPAID” objEmployee(“Migraines”) = 4000

Classes: Event Handlers vs. Explicit Methods Event Handlers Quick and easy to “extend” behavior to module (object) interaction Difficult to understand: Code is shorthand and not easily readable Programmer must search all the code for a handler to see what it does Debugging can be difficult Explicit Methods Clearly defines what happens for an event Must modify the class when a change in behavior is needed Primary practice at Durakon

More on Event Handlers Not evil, actually very powerful (if used wisely) Click a button, you might have 50 objects that created and used. You would have to search the code for any handling/ Basically, the framework of modern programming language will allow you to raise events based on an action of the object (an event) which calls another object’s behavior. VB Form Example: The Form_Load Event of the Form is fired automatically when a form loads. Events are inherent to Microsoft’s current developer tools

Classes: Event Handlers vs. Explicit Methods CODE

Classes: Data-Driven vs. Explicit Data-Driven Classes Make new behaviors without modify or creating new classes if the logic fits Explicit Classes Again, Easier to read and understand You must edit the class in order to change behavior

More on Data Driven Generic Classes Works well if there are several behaviors that follow the logic involved. Cuts down on the sheer volume of code. Trade off is again, difficulty to understand and thereby more difficult to change. Another Example:

Classes: Data-Driven vs. Explicit CODE

For me… I agree with the author 90% of the code I have written is heavily explicit. It costs a little more time but it is clearer for other programmers(and the programmer writing the code) to debug. From my perspective, I believe using non-explicit codes will eventually cost you in the end (instead of upfront) Most used non-explicit: Event handlers

Links Microsoft Overview