Navigation Bar

Saturday, June 26, 2010

Struts 1.1 : StockCode project using Java Design Patterns

For an understanding of Java design patterns one can refer to the below post


    ┌────────────────────────────────────────────────────────┐
    │                Struts Framework Class                  │
    │                        Action                          │
    └───────────────────────────▲────────────────────────────┘
                                │
                                │ (Inherits / Extends)
    ┌───────────────────────────┴────────────────────────────┐
    │                   «Abstract Class»                     │
    │                     CommonAction                       │
    ├────────────────────────────────────────────────────────┤
    │ # log : Logger                                         │
    ├────────────────────────────────────────────────────────┤
    │ + execute(mapping, form, request, response) : Forward  │
    │ + commonExecute(mapping, form, req, resp)* : Forward   │
    └───────────────────────────┬────────────────────────────┘
                                │
                                │ (Instantiates & Uses)
                                .
                                . (Dependency via 'new')
                                ▼
┌──────────────────────────────────────┐
│     «interface»                      │
│     StockQuoteManagerFactoryIF       │
├──────────────────────────────────────┤
│ + createStockQuoteManager()          │
└──────────────────▲───────────────────┘
                   │
                   │ (extends)
┌──────────────────┴───────────────────┐
│     «interface»                      │
│     DbStockQuoteManagerFactoryIF     │
├──────────────────────────────────────┤
│ + getDataSource()                    │
└──────────────────▲───────────────────┘
                   │
                   ║ (implements)
                   │
┌──────────────────┴───────────────────┐               creates                ┌──────────────────────────────┐
│     DbStockQuoteManagerFactory       ├─────────────────────────────────────►│   DatabaseStockQuoteManager  │
├──────────────────────────────────────┤                                      ├──────────────────────────────┤
│ - dataSource : DataSource            │                                      │ - dataSource : DataSource     │
├──────────────────────────────────────┤                                      │ - log : Logger               │
│ + DbStockQuoteManagerFactory()       │                                      ├──────────────────────────────┤
│ + getDataSource()                    │                                      │ + setDataSource()            │
│ + createStockQuoteManager()          │                                      │ + createStockQuote()         │
└──────────────────┬───────────────────┘                                      │ + getStockQuote()            │
                   │                                                          │ + updateStockQuote()         │
                   │ (composes inner class)                                   │ + deleteStockQuote()         │
                   ▼                                                          └──────────────┬───────────────┘
┌──────────────────────────────────────┐                                                     │
│             MyDataSource             │◄────────────────────────────────────────────────────┘
├──────────────────────────────────────┤                                     (uses to get connections)
│ + getConnection()                    │
└──────────────────────────────────────┘
                                                                                             │
                                                                                             ║ (implements)
                                                                                             │
                                                                              ┌──────────────▼───────────────┐
                                                                              │     «interface»              │
                                                                              │     StockQuoteManagerIF      │
                                                                              ├──────────────────────────────┤
                                                                              │ + createStockQuote()         │
                                                                              │ + updateStockQuote()         │
                                                                              │ + deleteStockQuote()         │
                                                                              │ + getStockQuote()            │
                                                                              └──────────────────────────────┘

No comments:

Post a Comment