Object Oriented Patterns and Visio

Visio question:
Does anyone know if there are established shapes for each (or any) of the object oriented patterns? If not, is anyone working on that or interested in that?
Since they all have names (Momento, Proxy, Iterator, Mediator, Observer, etc.) it seems like they ought to each have their own shape. Since Object Oriented is all about communication of intent, each pattern having its own recognizable shape would go a long way toward a more meaningful communication through diagram. Also, if they each had their own shape, then the super-patterns (based on commonly grouped patterns and interactions) could also be easily represented.
Blaine

I'm kind of making an assumption here and if it's in error then feel free to disregard the rest of this post.
Assumption that you're thinking terms of shapes for representing in UML the various patterns. Everything you need is right there in front of you already regardless of whether you use Visio, Rational, Poseidon or some other UML tool.
Patterns are not individual constructs. One does not make a Mediator class. One makes a Java class that is an implementation of the Mediator pattern. As such you would see in the static class diagram the same grouping of classes for an X Mediator as you would for Y Mediator. That is the image you're looking for. It's not a single widget that you drag onto the screen, it's in the pattern itself.
If, however, you're talking about something like a graphical representation to give to managers that says "Here be Momento patterns", then I would postulate that you're trying to communicate information that they don't need nor should they concern themselves with. Patterns are an implementation issue. They deal with, "How" we will solve a problem, not what problem will we solve. Mangaers, IMNSHO, need only concern themselves with what problems we will solve, not how they will be solved.
Just my 2 krupplenicks on the subject, your milage may of course vary.
PS.

Similar Messages

  • Object Oriented Analysis And Design

    Hi,
    Can somebody suggest how to satrt the Object Oriented Analysis And Design. Is there any suitable site for this?
    Thanks,
    Subodh.
    SCJP 1.4, SCWCD 1.4, SCBCD 1.3.

    Many thanks Leelavati for your response.
    chariflakchiri , I think you interpreted in a different way.Can you visit
    http://www.objectdiscovery.com/programming/java/ooad/outline.html.
    Then you will come to know what is required for you to say that you know OOAD. See what percentage of the tutorial you really need to get SCJP, SCWCD, SCBCD.

  • Object Oriented Modelling and Code Generator

    i have a final yr project on java--any help plzz
    Objectives:
    In software development we make extensive use of models to capture details about objects in a domain, the attributes of the objects and the relationships between the objects. Once complete, these models also contain constraints on the objects and their attributes.
    The aim of this project will be to develop a GUI to draw an appropriate software model and to automatically generate a set of Java classes consistent with the model that can be used to rapidly implement the software.
    This research will aim at analysing the different modelling techniques and the mapping of these models to java codes.
    note: any good advice..

    Hello there..
    I Together Control is one of the best tool that can serve ur purpose
    this is pretty good Tool.
    Specially auto code generation is cool.
    Look in to borland site..( They now took overtogether ) for free eval version ..
    Regards
    Manu
    Syntel

  • Object Oriented Databases and entity beans?

    Does one of the authors care to comment on the benefits of using OODBMS models versus RDBMS models for entity beans? Any differences between BMP and CMP in this scenario?
    Thanks!
    Peter

    Bump?

  • How do YOU name classes? (object oriented programming)

    I am in the process of learning advanced object oriented design, and I am trying to use it in my personal programming project. I'm having a hard time implementing all of the classes I want for it because I can't think of what to call them.
    So, my question is, in object oriented design, how do you name the implementations and abstractions that you make?
    In other words, "implementations" can be thought of as "classes", and "abstractions" as "interfaces" in Java or "pure abstract classes" in C++. How do you name the classes and interfaces you make?
    For example, do you use prefixes or suffixes on your names, such as "I" for "interface" or "Impl" for "implementation"? Do you add "-able" to the end of the name of an abstraction, such as "Decoratable"? Can you always think of simple logical names for all of your classes, and it just has never been a problem for you?
    As an example of how the number of classes quickly grows, the Decorator Pattern will use at least five classes. I have no idea what I would name those in a programming project.

    drcouzelis wrote:
    Trent wrote:Theoretically speaking, you'll have multiple implementations of the Window interface, which will have their own unique names suggested by their respective purposes.  If not, then Window and its implementation should probably be merged into a single class.
    Thank you for bringing that up.
    How about this: The name of the implementation class will be HOW its implemented followed by the name of the interface.
    A "Window" interface would have implementations such as "AllegroWindow", "GTKWindow", or "HaikuWindow".
    In a video game, a "Character" interface would have implementations such as "GeneralCharacter", "ControllableCharacter", "PlayableCharacter", or "EnemyCharacter".
    Does that sound like a good idea?
    Indeed, classes are more specific than interfaces, subclasses are more specific as their superclasses... This should be reflected in their names, the name of a class that implements an interface should somehow make clear exactly what it is (e.g. what kind window). If you have a kind of window (for instance) that is really _just_ a window, nothing else, than the interface should become this class and the implementing classes should become subclasses.

  • Anyone recommends a good book for object oriented programming

    I am a college student in computer engineering (Software) and have been programming using Java for over a year. I have become really interested in the design of softwares and the "beauty" of object oriented programming, and thus would like to advance my knowledge about the topic (my university offers an advanced oop class but I would have to wait another 6 months to take it). So my question is, could you recommend me any book that covers the subject of object oriented programming extensively? (I have learned most of the oop I know from "An Introduction to Programming and Object Oriented Design Using Java" by Nino and Hosch.
    Thanks in advance

    Some years ago I remember cutting my teeth on OOP using an excellent book by Grady Booch. If it's still in print and has been updated, it may be worth a look. Again it was decent. Also consider picking up a book on design patterns. Good luck.
    Edit: I found it, it's called "Object-Oriented Analysis and Design with Applications", and it's in its third edition. You can find it here on Amazon.
    Edited by: Encephalopathic on Apr 22, 2008 2:48 PM

  • Anyone recommends a good book for object oriented programming (advanced)

    I am a college student in computer engineering (Software) and have been programming using Java for over a year. I have become really interested in the design of softwares and the "beauty" of object oriented programming, and thus would like to advance my knowledge about the topic (my university offers an advanced oop class but I would have to wait another 6 months to take it). So my question is, could you recommend me any book that covers the subject of object oriented programming extensively? (I have learned most of the oop I know from "An Introduction to Programming and Object Oriented Design Using Java" by Nino and Hosch.
    Thanks in advance

    jwenting wrote:
    I never tire of pushing ["Agile Software Development, Principles, Patterns, and Practices "|http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445] by Robert Martin.
    You probably meant [Agile Software Development, Principles, Patterns, and Practices|http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445] ;-)
    Remember, quotes in link names break the forum ...

  • Trying to understand object oriented programming

    Hi all,
    I'm new to programming and I'm trying to learn C and Objective-C to eventually write an iPhone/iPad app.
    I want to make sure I'm understanding some fundamental Object Oriented principles and so I'm starting with a very basic program.
    I've produced a class called CartesianPoint which has an x and y variable plus methods to set and return these variables and also a method to calculate the magnitude from the origin.
    What I would like to do now is to extend the program to have a CartesianVector class.
    I'm a little unsure as to whether a Vector is a subclass of a Point or whether a Point is a subclass of a Vector... or neither?
    Secondly, I'm a little unsure of how to implement the vector class to use two point objects. How should the header and implementation files be set up to receive point objects from the main.m program?
    I'd like to also try and extend the program to include other ways of defining a vector (i.e. origin, unity vector and magnitude).... and then use the vectors to build 2D shapes.
    Many thanks,
    Glyn
    Message was edited by: GlynC
    Message was edited by: GlynC

    Hi Glyn -
    I agree with William and would vote for "neither". I see a subclass as a specialization of its superclass, not, for example, something contained by its superclass. A container relationship might apply to a subview and its superview, yet the class of the superview could be a specialization of the subview's class so the subview's class might be the parent of the superview's class. The classic example of cat as a subclass of animal (cat:animal) can be misleading if we see the relationship as member:group. Cat is a subclass of animal because it's a specialization.
    Also ask, "What's accomplished by making a subclass"? Does the subclass want to use all or most of the parent's instance variables and methods? Could the job be done any other way? Are any of those ways simpler or do they lead to more reusable code?
    One of the best examples (from the Cocoa docs?) is about a programmer who needs a specialized array. A newbie might immediately attempt a subclass of NSArray (a rather tricky subclassing job as it happens). In most cases however, the correct solution would be a class which includes an NSArray* type instance variable.
    Hope some of the above is helpful!
    \- Ray

  • Can I develop a 100% Object Oriented DB with Oracle 11?

    Hello!
    I want to know if I can develop a 100% object oriented data base in Oracle 10g or 11? I have reed the "Oracle Database 11g The Complete Reference" chapter 41 "Advanced Object-
    Oriented Concepts" and I still have the doubt if I can implement a database 100% object-oriented. I hope you can help me.
    Thanks!

    >
    I want to know if I can develop a 100% object oriented data base in Oracle 10g or 11?
    >
    The short answer is no.
    See this AskTom blog for the long answer.
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1545206281987
    It starts off with Tom saying
    >
    First off, in Oracle you would be considering pure relational versus Object RELATIONAL,
    not OO. We have object relational extensions to the relational database. We do not have
    an object oriented database.
    >
    I think you will find a lot of infomation in there from Tom and other respondents about the differences between relational, object relational and object oriented.

  • Object-oriented APEX. Best practices.

    Hello,
    in my company we are developing quite big application in Apex. At the beginning we saw Apex as a very developer friendly application, but now we have problem with it.
    Our application has about 100 pages, most of them are not only reports but are also designed to edit and add new data. We are often using javascript and plsql procedures to handle collections and error processing. There are a lot of elements that are identical on several pages – not only processes, but also buttons, branches etc. – and when something changes, we must do the same operation on every page. Do you know any way to deal with it in better way?
    Are there any “best practices” for APEX to make it more object-oriented? I know I can put e.g. plsql procedures as a function in database, but what about button functions etc.? Maybe I should name most important buttons in the same way and handle them using javascript?
    Regards,
    Przemek Staniszewski

    Hi Przemek,
    I'm not an object oriented expert so I probably can't offer you too much in the way of advice here, I'm old school from relational theory, 3GL etc. But one of the things to remember is that Apex isn't one single language like Java where it is easier to maintain good object oriented practicies and even enforces and encourages. Apex is a collection of technologies such as Relational Design, SQL, PL/SQL, HTML and Javascript which are all held together by a declarative programming interface.
    Although all these technologies have varying degrees of object orientism, they are all quite distinct technologies which work together well but don't really help each other in maintaining or enforcing OO good practices. I think it would be hard to reverse engineer an existing application, but with some thought, kowledge and advice from the right areas you should be able to put together some good design and coding standards which will serve you well going forward.
    There are some documents and threads you should be able to find which will also help you, but also remember you are also dealing with some long established technologies such as Relation Database Design and SQL. Too often developers with skills in more recent languages get lost in the API front end and assume the database isn't really part of the application. You know, DBA stuff. For my money the database is the centre and the most important part of the application.
    My two cents worth anyway.
    Andre

  • Exception Handling in Object Oriented Design

    I am developing a huge web based project using Object Oriented design and java,srvlets ,jsp etc ,I am using 3-tier archtecture.I dont understand,how i should handle exceptions in my project.ie.If there is some exception in the base modules how should it be handled.What kind of excpetion Structure should i use,How many exception classes should be made etc,
    Can someone help me in this regard

    A couple things I have found to be good practices for exception handling in an n-tier architecture:
    1. Don't expose all the internal exceptions of a tier to the client of the tier. Create a more useful, descriptive set of exceptions (or use the appropriate predefined exceptions) to throw up to the client.
    For example, on one project, we are doing database access among other things in the "service" tier, which is accessed by the web tier. We catch the SQLExceptions, PersistenceExceptions (a custom exception), and others, and throw a more useful exception that the client will know how to handle such as a NoMeasurementResultsException if the client asks for measurement results when we have none.
    2. Chain your exceptions and/or log the root cause in the tier that re-throws a different exception. There is nothing more aggravating than not knowing why, when you are debugging a problem, you are getting a NoMeasurementResultsException when you know that there ARE results in the database.
    Hope these ideas help in your design.
    Cheers,
    Colin

  • FOR ALL ENTRIES in Object Oriented Context

    Dear all,
                is it possible to use FOR ALL ENTRIES for an internal table with out header line ? I Am using Objected Oriented Programming and I Am not able to create internal table with header line . Please provide your valuable inputs on this issue.
    Thanks In Advance.
    Sri

    Hello,
    Few questions:
    1. Did you do an F1 on FOR ALL ENTRIES(FAE)? Does it say FAE is allowed only for tables w. header line?
    2. Have you tried using FAE on an internal table w/o header line? Does it give an error?
    BR,
    Suhas

  • Why java is called as true object oriented language?

    HI Friends,
    Though few oops concepts is not supported , why java is called as truly object oriented language and C++ as not a purely object oriented language???? Please, if any one know , give me the answer.
    Thanks to all.

    few oops concepts is not supportedwhich concepts?
    as far as i know...to be OO, you must supports
    encapsulation, abstraction, inheritancxe, composition (aggretration, et all) and polymorphism. Java supports all those comcept..now..Java is a hybrid due to what Jverd has pointed out.
    the only pure OO language that i know of is SmallTalk. they have Meta class that can create Class object. and all their primitaives are object.
    C# comes close, but their Class are not object.

  • Object Oriented? Or Not?

    Perhaps the way I raised this question would be peculiar for you as I'm a newbie!
    I'm willing to use oracle object oriented programing for my applications, and some senior people(work in my organization) told me that Object oriented database concept is failed in the industry. As a reason they say that; even if Object oriented databases solved some problems people had with relational databases, still Object oriented databases are failed to facilitate most of the advantages of relational databases. It's somewhat chaotic for me, as I'm new to PL developments.
    They didn't mention any specific reason; but just told me that relational databases perform well and faster than object oriented databases, and for business logic, object oriented databases has some accuracy issues.
    But I'm not ready to accept that it will be useless to learn 'Oracle Object Oriented Programing' or 'Object Oriented Database Concept' would be failed.
    So I need to know,
    1. Will it be useless to learn & use 'OOP' techniques when learning PL/SQL programing?
    2. Is there any disadvantage of using 'OOP' with oracle? (If there is any, please let me know if you have time for that).
    Especially, (The most pleasing answer I would like to hear from you ;-) )
    3. If Object Oriented Databases concept is better and something that a "PL/SQL" developer must learn; please let me know that.
    Please provide me a link if you can, which would help me to learn why should we use 'OOP' with oracle (if Object oriented database is better than Relational database)

    Intruder wrote:
    So I need to know,
    1. Will it be useless to learn & use 'OOP' techniques when learning PL/SQL programing?No. OOP has very little do with relational database design. The two is not mutually exclusive and can co-exist easily.
    2. Is there any disadvantage of using 'OOP' with oracle? (If there is any, please let me know if you have time for that).That depends on how+ you use it. If OOP was truly horrible and bad, then why does Oracle spend money on the research and development on it for their RDBMS product?
    Especially, (The most pleasing answer I would like to hear from you ;-) )
    3. If Object Oriented Databases concept is better and something that a "PL/SQL" developer must learn; please let me know that.OOP is not Object Orientated Database. These are two very different concepts. OOP competes with procedural programming. Object Orientated Database design competes with Relational Database Design (and others of course).
    There are two primary issues with an Object Orientated Database design. Complexity. Performance.
    Do you for example store the subclasses of the same abstract class in the same physical object table? You can do that in Oracle.. but then the database need to resolve the class type at run-time.. every single time.. for every single object accessed... At what cost ito performance?
    How do you treat collection classes? A collection can be stored as a physical table. It can also be stored as an attribute (column) of an object (table) - in which case the physical implementation for that is a nested table. There are dire performance issues with nested tables when these are used and applied incorrectly.
    There are numerous such issues.
    Compare this with something as mature and robust as Relational Database Design. Easy to understand. Easy to use. And what the Oracle RDBMS product was specifically designed to support.
    Which one is "+better+" (especially in the Oracle RDBMS environment)? It should be obvious.
    I suggest that you read Codd's original paper on "+A Relation Model of Data for Large Shared Data Banks+", read "+The Third Manifesto+" from Chris Date, and papers from various other authors for insight.

  • What are object oriented methods?

    i dont seem to understand the term object oriented methods. i know that it is a technology which encompasses a body of methods,processes, and tools used to construct software systems from obejcts. i know that i provides a unifying paradigm for the three traditional phases of software development: analysis,design and implementation. so how do i get more information on this. i mean this is very limited information i have on my hands. how do i explain in detail about the major features of object oriented methods and their major benefits. is there a place where i can find out about it? please help me out?

    Object-Oriented Programming Concepts
    Object-oriented language basics
    Don't Fear the OOP

Maybe you are looking for

  • Hard drive not exist

    Took me ages to get this far on the site, too many loops holes to back where you started! Just strange why it gives you an option to email HP but you can't :/ Anyway... I clumsilly dropped a book on the trackpad of my HP Pavilion dv6-3123sa the hard

  • Mount external Hard drive in Single user mode

    Do any know how to mount an external hard drive in single user mode: I've issue the following command: /sbin/mount -uw / mkdir /Volumes/ex1 /sbin/mount_hfs /dev/disk2s3 /Volumes/ex1 (I've checked my external hard drive using df -k showing the device

  • GTX980 gaming 4G - Display Ports HELP ME PLEASE!!! so stressed

    Hi today I bought this video card and 3x Benq XL2430T monitors, nearly $2500 AU dollars worth of gear and all i can do is get 1 friggin screen working via the DVI I am running drivers 344.80 I have installed Benq monitor drivers ALL the monitors show

  • How to Flip the Sign using Calculation script for historical data

    I am currently using Essbase 9.3.1. Its required to flip sign for a specific set of accounts for that i am currently using UDA's to flip the sign. But now i need to flip the sign for the historical data too. Is there any possible way to flip the sign

  • Help...How to Play Video and Auido using windows media player in developer forms?

    I am using the Windows NT workstation and Oracle Forms6i, I want to know how to use window media player in oracle forms? I have insert an OLE object and add Windows media player as an control object, but I don't know how to play the audio and video.