|
Recommended Programming Methods for Web Development
|
|
A Lean Approach to Software Development
|
|
Scrum is an agile software development framework. Work is structured in cycles of
work called sprints, iterations of work that are typically two to four weeks in
duration. During each sprint, teams pull from a prioritized list of customer
requirements, called user stories, so that the features that are developed first
are of the highest value to the customer. At the end of each sprint, a potentially
shippable product is delivered.
|
|
|
|
5 Pillars of Object Orientation
|
-
Data Abstraction
(focus on concepts by reducing and factoring out the details)
-
Encapsulation
(hide data and software components behind a defined interface)
-
Inheritance
(create new classes from classes that have already been defined)
-
Polymorphism
(perform type-specific actions from a single instruction)
-
Modularity
(improve maintainability by creating small software modules)
|
|
Bruce Eckel on the Development of a Class (Thinking in C++)
|
-
Let a specific problem generate a class (the need drives the solution).
-
Let the class grow and mature during the solution of other problems.
-
A major part of system design is discovering the classes you need.
-
Don't force yourself to know everything at the beginning; learn as you go.
-
Get something working so you can prove or disprove your design.
-
Keep it simple; make it clean (follow the 8/15 rule for class design).
|
|
N-Tier Approach to Software Solutions
|
-
User Interface (front end)
-
Business Logic (middle layer)
-
Database (back end)
|
|
Design Patterns
|
-
Behaviorial (examples: Observer, State, Visitor)
-
Creational (examples: Factory, Singleton, Prototype)
-
Structural (examples: Bridge, Facade, Proxy)
|
 |
Web Resources |
|
|
|
|