Click here to Skip to main content
15,885,278 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
A multi threaded tool has to be created that compares two excel files..
Cell wise, Formula wise,formatting,colors,width based on users checkbox selections.
What could be the design approaches/patterns I should refer to build a robust application.


Please suggest
Posted
Updated 25-Aug-14 21:25pm
v4
Comments
George Jonsson 10-Sep-14 1:51am    
Why must it be multi threaded?
appiengg 10-Sep-14 2:28am    
so that the user can see the resutls that are already processed. like Value compare result is done, the results window will be updated and the remaining runs in background.

There is one design pattern to use: your brain.

Remember that design patterns are not the part of the goal. You need to start with your goals, real, not imaginary goals, and just work at the solution of the problem. Let's assume you are familiar with all major patterns. If, on you way, you can see that some pattern can help you, think at using it, if not, forget it. Patterns are published to serve you when it would be useful, not that you do your work to serve the patterns.

—SA
 
Share this answer
 
v2
Comments
CPallini 25-Aug-14 14:44pm    
5.
Sergey Alexandrovich Kryukov 25-Aug-14 15:07pm    
Thank you, Carlo.
—SA
appiengg 26-Aug-14 1:36am    
Well thanks for the answer..

But my intention was to understand if there are any patterns that someone has used to build such an application. I may not be aware of most of the patterns. You could suggest one that serves the purpose

Goals:
1.Good Performance
2.To build a Multithreaded application
3.Support new types of comparisons


Thanks in advance..
Sergey Alexandrovich Kryukov 26-Aug-14 1:52am    
To start with, you mix up goals and tools. "Multithreaded application" cannot be a goal; it's a tool.
Your problem is not yet formulated and analyzed to the degree where you can utilize any pattern. Or may be you can do it because you did this analysis, but you did not formulate it all.
Besides, it the word "pattern" in singular form looks extremely weird. I would formulate one more anti-pattern and call it "single pattern".
—SA
appiengg 26-Aug-14 3:15am    
Ok..Thank you.
I used combination on Singleton, Strategy, design patterns together.

UI - Input form
Singleton object - Gets the data from UI and holds it.
Holds references to source Excel Object and target Excel object

Controller class - that initiates the necessary comparison class based on user Input

Excel Object - That loads the excel silently and all its supporting methods

Abstract Class - one method Compare() that can be overridden and other common methods needed for all comparison types.

Concrete classes derived from Abstract class for each type of comparison

Yet to implement multi threading. Improvements/Suggestions are welcome.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900