Object Oriented Programming Principles and Patterns
What is Programming?
Programming is the craft of transforming requirements into something that a computer can execute .
Evolution…
1940s. First computer users wrote machine code by hand.
1950s. Early tools, such as macro assemblers and interpreters were created and widely used to improve productivity and quality .
1960s. Second generation tools like optimizing compilers and inspections were being used to improve productivity and quality . First large scale (1000 programmer) projects .
Evolution…
1970s. Collaborative software tools, such as UNIX, code repositories, make , and so on.
1980s. Personal computers became common. Rise of consumer software. Smalltalk: First Object Oriented Programming language/platform that is UI based, Memory Managed, VM Image based, s cripted/incremental .
Evolution…
1990s. OOP and agile processes (like XP) gained mainstream acceptance. N ew technologies allowed software to grow more complex .
2000s. Managed code and interpreted platforms such as Java, .NET, Ruby, Python, PHP made writing software easier than ever before.
And where is PL/SQL at?
Procedural Programming
Programmer implements requirements by breaking them down to small steps (functional decomposition)
Programmer creates a “recipe” that computer can understand and execute
Procedural Programming
What’s wrong with Procedural Programming?
When requirements change
It’s hard to implement new features that were not planned in the beginning
Code blocks get bigger and bigger
Changes in code usually introduce many bugs
Code gets hard to maintain
Worst thing is that
Requirements
always change
Object Oriented Programming
Breaks down requirements into objects with responsibilities , not into functional steps .
Embraces change of requirements
By minimizing changes in code
Lets you think about object hierarchies and interactions instead of program control flow
0 comments
Post a comment