Introduction to Object Oriented Programming in ColdFusion Nicholas Tunney Senior Software Architect.

Slides:



Advertisements
Similar presentations
Object orientation and persistent objects Dragos Chirila Finsiel Romania Copenhagen, 24 May 2004.
Advertisements

Data Structures.
Spring, Hibernate and Web Services 13 th September 2014.
Introduction Class Notes How to Program in C++ By : dettle & dettle READING MATERIAL
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Unified Modeling Language
Design Patterns and ColdFusion: Exploring Object Based Programming Dan Blackman
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
1 Introduction to C++ Programming Concept Basic C++ C++ Extension from C.
Object Oriented Databases - Overview
Object Oriented Paradigm Programming Paradigms En Mohd Norafizal A.Aziz.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Introduction to Object-oriented Programming Introduction to Object-oriented Programming CMPS 2143.
UML and Object Oriented Concepts
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Object Oriented Software Development
Java Beans.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
BCS 2143 Introduction to Object Oriented and Software Development.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
Object-Oriented Database Management Systems (ODBMS)
CSCI-383 Object-Oriented Programming & Design Lecture 13.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
08 Encapsulation and Abstraction. 2 Contents Defining Abstraction Levels of Abstraction Class as Abstraction Defining a Java Class Instantiating a Class.
1 OOP - An Introduction ISQS 6337 John R. Durrett.
Methodology First and Language Second -A Way to Teach Object-Oriented Programming Haibin Zhu, PhD Department of Computer Science and Mathematics Nipissing.
Inheritance CSI 1101 Nour El Kadri. OOP  We have seen that object-oriented programming (OOP) helps organizing and maintaining large software systems.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Fundamentals of Visual Modeling with UML Module 1: Introduction to Object Technology.
Object- oriented Design Principles
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Mr H Kandjimi 2016/01/03Mr Kandjimi1 Week 3 –Modularity in C++
A Survey of Object-Oriented Concepts, by Oscar Nierstrasz Reviewed by Odd Petter N. Slyngstad for DT8100, 27/1/2005.
Top ten things I learned at CFUnited Rick Mason BusinessGrade.com.
1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007.
Object Oriented Programming Some Interesting Genes.
Computer Programming II Lecture 5. Introduction to Object Oriented Programming (OOP) - There are two common programming methods : procedural programming.
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
Advanced Programming in Java
Advanced Programming in Java
Structure of a web application
Inheritance ITI1121 Nour El Kadri.
MPCS – Advanced java Programming
Object-Oriented Modeling and Design
Object-Orientated Programming
OBJECT ORIENTED PROGRAMMING overview
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
INTRODUCTION TO OOP Objective:
C++.
ADO.NET Entity Framework Marcus Tillett
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
Week 4 Object-based Programming (2) Classes and Objects: A Deeper Look
Introduction to Computer Science for Majors II
CIS601: Object-Oriented Programming in C++
Advanced Programming in Java
ITEC 3220A Using and Designing Database Systems
Review CSE116 2/21/2019 B.Ramamurthy.
Object-Oriented PHP (1)
Final Review B.Ramamurthy 5/8/2019 BR.
CMPE 135 Object-Oriented Analysis and Design March 7 Class Meeting
Presentation transcript:

Introduction to Object Oriented Programming in ColdFusion Nicholas Tunney Senior Software Architect

Why Am I Listening to This Guy? Experience Credentials –Articles and Whitepapers –Presentations –Adobe Community Expert –Adobe Certified Advanced ColdFusion Developer –Adobe Certified Instructor Current Projects

What will we cover? Why use Object Oriented concepts? Introduction to Object Oriented Programming How to apply Object Oriented principles to ColdFusion Samples Q and A

Why use Object Oriented Concepts Scalability Uniformity Reusability Maintainability

Introduction to Object Oriented Programming History (Bar trivia) –Simula I and Simula 67 (early 60s) –SmallTalk used Simula concepts (early 70s) Abstract datatypes Concurrent program execution Integrated GUIs –C++ and Java

Introduction to Object Oriented Programming ColdFusion is not pure OO! –Pure OO languages treat everything in the language as an object –ColdFusion allows us to use tools within the language that apply OO concepts, but does not require the use of objects –Constructors, Overloading –“Java Lite", Rails.

Introduction to Object Oriented Programming OO is not a language or a framework –Principles –Best Practices –Patterns

Introduction to Object Oriented Programming Class –Properties –Constructor –Accessors/Mutators –Object Methods –Sometimes Data Access (CRUD)

Introduction to Object Oriented Programming Object –Instantiated class –Real world entity

Introduction to Object Oriented Programming Defining an object - “Be” the object –Who can I talk to? –Who do I depend on? –What can I do?

Introduction to Object Oriented Programming Encapsulation –Private properties –Accessors/Mutators –Good API defines the object. –Over Engineering

Introduction to Object Oriented Programming Polymorphism –One class, many instantiations –Employee class Manager Accountant Programmer

Introduction to Object Oriented Programming Inheritance and Composition –The “is a” “has a” paradigm Employee –Employee has a(n) address –Manager is a(n) employee –“Favor Composition”

Introduction to Object Oriented Programming Q & A

Applying Object Oriented Principles to ColdFusion Creating a class – … properties … … constructor … … accessors/mutators … … public methods … … private methods …

Applying Object Oriented Principles to ColdFusion Creating a class – Properties variables.id = 0; variables.firstName = “”; … -- OR – …

Applying Object Oriented Principles to ColdFusion Creating a class – Constructor …

Applying Object Oriented Principles to ColdFusion Creating a class – Accessor (“Getter”) … calculations …

Applying Object Oriented Principles to ColdFusion Creating a class – Mutator (“Setter”) … calculations …

Applying Object Oriented Principles to ColdFusion Creating a class – public and private methods –Data Access – CRUD –The “What can I do” of the object

Applying Object Oriented Principles to ColdFusion Instantiating an object – best practice Example:

Applying Object Oriented Principles to ColdFusion Interacting with properties –Properties are in private scope (encapsulation) –Use accessor/mutator methods

Applying Object Oriented Principles to ColdFusion Persistence Methods –CRUD (Create(), Read(), Update(), Delete()) –Can also be separated out into separate DAO –CRUD can be further encapsulated with commit()

Applying Object Oriented Principles to ColdFusion Gateway Objects –Used for accessing multiple objects or records –For small applications, methods can be put into one main data access object –For large applications, best practice is to move methods into object specific gateways

Conclusion OO is not new, just new to CF CF is not pure OO Classes contain encapsulated properties, accessor and mutator methods, private and public methods Objects are instantiated classes Objects are programmatic representations of real world entities

Conclusion - cont’d Think Objects instead of Relational DB. “Be” the object when defining the class Composition is preferred to inheritance DAO methods may be in the class, or in its own class (CRUD) Gateways access recordsets or multiple objects Code generators can be your best friend!

Q & A

Thanks!