473,503 Members | 3,884 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Which design pattern best suits this need?

My client application will have a set of varying business functions.
These functions will be fullfiled via various 3rd party services (i.e.
web services, http post/get, remote data access or socket to socket
feeds). Some are action type services (i.e. create account or update
some info about a given user), and others are read only, retrieval of
data.

What i intend to do is to define the functions in an interface so
that the client code can be implemented against this interface; let's
call it IClientServices

Now the dilema i am facing is how to i get IClientServices to work
against the various services. One idea was to build a wrapper for
each service.
The concrete implementation (call it ConcreteClientServices) of
IClientServices can then use composition and delegation to interact
with the various services (the wrappers would be members
ConcreteClientServices). The issue here though is that if we move
from one 3rd part service, we obviously would have to create a new
wrapper for this new service...that's fine. However, what is
troubling is having to modify ConcreteClientServices each time we
change to a new service provider. With this method, i still have a
dependency on 3rd party services sort of...it's not a clean
separation. What is the best way to solve this problem?

Also, how do you handle a situation where a single set of related
business functions require interaction with two or more different 3rd
party services? Would it be best to build one adapter that uses
IClientServices, and through composition and delegation, does the
dirty work of figuring out which methods should be mapped to the
different services (rather than creating separate adapter for each
service as described in my above paragraph). Is the pattern here
considered Adapter or Provider?

thanks,
Mike
Jun 27 '08 #1
1 1050
hmmm...not a very active group? or is there a better another group
that better suits architecting topics?

Jun 27 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2725
by: DarkElf | last post by:
MAGIA WEB DESIGN SHOP www.qesign.com/download HTML templates & PSD graphics with detailed description, screenshots, FAQ, and free technical support. Buy - Download - Use! Dating Site Design...
10
1922
by: MasterBlaster | last post by:
We are in the initial stages of design analysis and I'm trying to come up with some ideas on how to handle the feature our users are requiring from the new application. We are using VB.NET/window...
4
2428
by: Guch Wu | last post by:
I want to design an image processing class as follow: class Image { Image Data; General Image Operations; read(filename, File_Type); write(filename, File_Type); };
22
4681
by: Krivenok Dmitry | last post by:
Hello All! I am trying to implement my own Design Patterns Library. I have read the following documentation about Observer Pattern: 1) Design Patterns by GoF Classic description of Observer....
9
1683
by: Jens Jensen | last post by:
Hello all, I need some design advice for my web service. I' have written a web service that exposes a function that takes some parameters and return an xml.
29
2867
by: gs | last post by:
let say I have to deal with various date format and I am give format string from one of the following dd/mm/yyyy mm/dd/yyyy dd/mmm/yyyy mmm/dd/yyyy dd/mm/yy mm/dd/yy dd/mmm/yy mmm/dd/yy
2
2697
by: LarryTheSoftwareGuy | last post by:
Folks, Would love some suggestions re what design patterns to use for this situation. I need to create a simple FSM. A certain login scenario will behave differently based on the following:...
8
2340
by: =?Utf-8?B?eWRibg==?= | last post by:
I need to write a program validate a text file in CSV format. So I will have a class DataType and a lot of of derived class for various type, e.g. IntType, StringType, FloatType, MoneyType,...
10
3617
by: vital | last post by:
Hi, I am designing the middle tier of a project. It has 6 classes and microsoft application data access block. The six classes are DBServices, Logger, ProjectServices ... etc. and all these...
0
7188
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7063
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7313
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
5558
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4987
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4663
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3156
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3146
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1489
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.