Anda di halaman 1dari 4

http://architecture-soa-bpm-eai.blogspot.

com/ Page 1 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

Pattern Name: Product Code Management – Customization by Customer


Pattern Class: Architecture Version: 1.0
Pattern ID: Release Date: Oct 4, 2010

Table of Content

1. Pattern Name ........................................................................................... 2


2. Also Known As.......................................................................................... 2
3. Class Name.............................................................................................. 2
4. Intent ..................................................................................................... 2
5. Motivation (Forces) ................................................................................... 2
6. Applicability ............................................................................................. 2
7. Structure ................................................................................................. 2
8. Participants .............................................................................................. 3
9. Collaboration............................................................................................ 3
10. Consequences .......................................................................................... 3
11. Implementation ........................................................................................ 3
12. Sample Code............................................................................................ 3
13. Known Uses ............................................................................................. 3
14. Related Patterns ....................................................................................... 4
15. Reference ................................................................................................ 4

http://architecture-soa-bpm-eai.blogspot.com/ Page 1 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 2 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

1. Pattern Name
Product Code Management – Customization by Customer

2. Also Known As
N.A.

3. Class Name
Architecture

4. Intent
To Manage code (Core language – java, c/c++, etc) and SQL scripts
(DDL and DML).

5. Motivation (Forces)
In any products’ life cycle management of its code is one of the
most important tasks. As the code base size increases and
customization due to increasing customer base, its management
becomes difficult and some time unmanageable.

6. Applicability
This pattern is applicable in any software development where
product is not off the shelf (not like MS Office) but requires
customization due to varied customer needs and choices but
serving same underlying business needs.

7. Structure
In this pattern, product designer provides a framework which allows
extension of features and facilities within boundaries. The
boundaries define the product but enough flexibility to
accommodate customer needs. Generally speaking, these
boundaries are defined by business domain. In general
customization developer uses inheritance or visitor pattern.
Inversion of Control (IoC) and Dependency Injection (DI) is also
gaining currency. The language for customization and product
remains same.

http://architecture-soa-bpm-eai.blogspot.com/ Page 2 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 3 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

8. Participants
N.A.

9. Collaboration
N.A.

10. Consequences
Customization developers must be well aware of product’s
underlying framework.

Some customizations will be done by customer without informing


product designers’ which will hamper the feature enhancement in
core product due to information unavailability to product designers.

Upgradation may become difficult if customization has not followed


the rules laid by product designers.

11. Implementation
In this pattern, product designer provides a framework which allows
extension of features and facilities within boundaries. The
boundaries define the product but enough flexibility to
accommodate customer needs. Generally speaking, these
boundaries are defined by business domain. In general
customization developer uses inheritance or visitor pattern.
Inversion of Control (IoC) and Dependency Injection (DI) is also
gaining currency. The language for customization and product
remains same.

12. Sample Code


N.A.

13. Known Uses


One of the commercial product using this pattern is Oracle Point of
Sales (Oracle PoS) acquired from 360.

http://architecture-soa-bpm-eai.blogspot.com/ Page 3 of 4
http://architecture-soa-bpm-eai.blogspot.com/ Page 4 of 4
Tushar Jain tusjain@yahoo.com, tusjain@gmail.com

14. Related Patterns


Product Code Management – Use DSL

Product Code Management – Use Customer specific folder

Product Code Management – Use Customer specific marker

Product Code Management – Distinct Code base

15. Reference
N.A.

http://architecture-soa-bpm-eai.blogspot.com/ Page 4 of 4

Anda mungkin juga menyukai