• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Tim Cooke
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Liutauras Vilda
  • Rob Spoor
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Scott Selikoff
  • Piet Souris
  • Jj Roberts
  • fred rosenberger

SCJD and Patterns

Ranch Hand
Posts: 379
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, which patterns are we required to know for the SCJD (apart from MVC, and Singleton)?
[ March 07, 2004: Message edited by: Marco Tedone ]
Ranch Hand
Posts: 286
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Originally posted by Marco Tedone:

Hi, which patterns are we required to know for the SCJD (apart from MVC, and

Names of Design Patterns Not Strictly Required
There is no requirement that you know the names of any design patterns for this
project. However, if parts of your submittal conform to some of the known
design patterns, this probably will make your software easier to understand,
make your software easier to modify in the future, and so forth.
So, in a sense, while knowledge of design patterns is never explicitly stated
as a requirement, and while you are not required to mention design patterns
in any of your documentation, if you final project is to be easy to understand,
easy to modify, and has been refactored, then even if you are not a design
patterns expert, your code probably had "re-invented" one or two design patterns.
I am not sure whether I will talk about design patterns in my choices.txt file.
One reason for this is that there is always the possibility, given that I am not
a design patterns expert, that I might mis-use a design pattern term, and thus
confuse the reader, who might use the same term but in a different context. For
instance, at Amazon.com, I have read some design pattern book reviews, where
some readers state that the author gave bad examples about some design pattern
or another.
Having said the above, however, does not mean that you should not familiarize
yourself with design patterns; in fact, there are design pattern links given
either directly or indirectly if you look at the links given at the top of this
In Martin Fowler's book, Refactoring: Improving the Design of Existing Code,
Chapter 3 is entitled: Bad Smells in Code.
This chapter has the following subsections, which, if the particular names have
fallen into standard usage, may have definitions on the internet: Duplicated
Code; Long Method; Large Class; Long Parameter List; Divergent Change;
Shotgun Surgery; Feature Envy; Data Clumps; Primitive Obsession; Switch
Statements; Parallel Inheritance Hierarchies; Lazy Class; Speculative
Generality; Temporary Field; Message Chains; Middle Man; Inappropriate
Intimacy; Alternative Classes with Different Interfaces; Incomplete Library
Class; Data Class; Refused Bequest; Comments.
Now, if you accept the above as bad smells in your program, and you refactor
to lessen these smells, then probably, somewhere, wittingly or unwittingly,
you have applied a design pattern; but, even if you did not, your code has
been restructured with the appropriate motivation, and I would think that your
code would do fine with respect to its design.
Pattern-Related Postings
Here are some pattern-related postings. I am not saying, however, that these
links are the most relevant. You may do better using this forum's search
Topic: Object adapter design pattern
General Pattern Links
RMI Pattern Link
Topic: NX: Identify pattterns used in my design
Topic: NX: What is the point of multiple instances? (Actually Design Choices)
Topic: operating mode--share code
Topic: NX: Prepare for the Essay exam (Model-View-Controller, also see Sun link when I find it)
Topic: ValueObject patern
Sun's Value Object Pattern
Sun's Transfer Object
Fowler's Data Transfer Object
Topic: Is String[ ] Serializabel? (2-Tier verse 3-Tier)
Topic: Should lock methods be callable by the client (2-Tier verse 3-Tier)
Topic: NX:What is Factory Pattern? (Links to pattern discussions on web)
Topic: Question about DesignPattern
Topic: How long should a GUI client wait for a locked record? (3-Tier Solution to the Rescue)
Topic: NX: Exposing different interface to client (than the one provided) (2-Tier verse 3-Tier)
Topic: how to maintain a application?
Topic: FBN: Which classes in which package?
Topic: NX: Singleton in Ken's design.
Topic: Fantastic!! My RMI surprised me!!! (Deals with one reference
type on client & single or multiple instances of Data)

Javini Javono
[ March 07, 2004: Message edited by: Javini Javono ]
[ March 07, 2004: Message edited by: Javini Javono ]
Ranch Hand
Posts: 1066
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Javini, for the links
Let's go to the waterfront with this tiny ad:
Free, earth friendly heat - from the CodeRanch trailboss
    Bookmark Topic Watch Topic
  • New Topic