View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Wesley Floyd

Wesley Floyd

I am a 4th year CS major. I am also getting a certificiate in IT Management. http://www.prism.gatech.edu/~gtg296s/

Discussion 4


Discussion 2

Part 1)
What are the differences between creaional, structural, and behavioral
patterns?

Creational patters automaticall generate objects for you, structural
patterns help with data composition to allow for scalability, and
behavioral patterns help to define the communication between objects and
flow control for the program.

Ref: http://www.developer.com/design/article.php/10925_3325211_2


Part 2)
The "task window" pattern is when the programmer tries to either fit
everything into one window or everything in its own window. The example of
the interface with too much in one window was an Auto-CAD program. The
early Macintosh's, however, were forced to split each function to its own
window. This cluttered the workstation. The "happy medium" to find for
this is when each window is responsible for a single task.

I can see myself falling into the "too many windows" group. The idea of
giving one window per task sounds reasonable to me. I will probably
consider this when coding a larger project.

Ref: http://c2.com/ppr/ui.html




Discussion I

"A Conceptual Perspective on the Comparison of Object-Oriented Programming Languages"
http://www.prism.gatech.edu/~gtg296s/ooessay.pdf

This article was written a while ago, back in 1996, so the information is pertinent, but the time period bears noting. It begins by defining an object oriented language as “object-oriented = objects + classes + inheritance”. It compares their support for various types of abstraction including: classification, aggregation, and specialization. The ST80, Beta, C++, Eiffel, CLOS, Self, Objective C, Ada, Simula, and O-Pascal languages were used for comparisons. Objective C was marked as using “message expressions” (from smalltalk?) as well as objects for abstraction.

Some languages discussed are more inclusive of modern abstraction capabilities. Eiffel employs “features”, which can be renamed and redefined in its subclasses. With the ST80 language the class of an object could be changed dynamically with a call to the “changeClassToThatOf” method. Also, in ST80, references have no type, so a variable could change its object association. This ability is not available to the programmer in popular modern languages such as Java and C++.

It then talks about how languages use "kinds" and "things" to impliment verbs and nouns, respectively, from natural languages. For example, C++ uses "friend functions" to implement these actions.

Answers to the Questions:


~~~It should be noted that I found a much better article in the "References" at the end of my article if someone wants to use it: "What is Object-oriented programming?" - B. Stroutrup IEEE Software 1988.

Link to this Page