|
We've all seen the images of the flying document moving from one folder to another. MS uses this to convey activity in the file copy operation. I'm looking for ideas/suggestions for graphically describing two systems searching, discovering and connecting with each other...
Might be in the wrong forum too, ....
Charlie Gilley
Will program for food...
Whoever said children were cheaper by the dozen... lied.
Overheard in a cubicle: "A project is just a bug under development."
Seeking to rise above the intelligence of a one eared rabbit...
|
|
|
|
|
Just one though...
How abut two guys (each at the opposite side of the dialog box) searching through a bin of cables. The bins have a cable strung between them. When each finds the proper end of the cable they give it a tug and we can see that they are connected together.
Just a thought...
|
|
|
|
|
Architecture question.
The application is a very dynamic with hundreds of panes the user can selectively choose. Each pane does something different. Each pane communicates through a modified observer pattern to all the other panes that are created. There could be 10 panes or 50 at any given time. The user can create or close panes at any time. There will be more panes added through time so recoding previous panes is a big no-no.
I’m looking for ideas or pattern to manage the concept of when a pane changes the state of the application/data and another panes observe the change and *only certain* panes would act upon the change. Keep in mind there is an infinite set of possibilities.
Maybe in a metaphorical sense I’m looking for a type of key and door logic and the key only opens certain doors. The doors would be defined on creation of a pane. The key would be defined upon the act of state change.
I tried using a class with get/sets and reflecting the answers and if they match it was a good key but it seems hackish.
Any ideas would be appreciated.
|
|
|
|
|
Willliam Doman wrote: I’m looking for ideas or pattern to manage the concept of when a pane changes the state of the application/data and another panes observe the change and *only certain* panes would act upon the change. Keep in mind there is an infinite set of possibilities.
Without more details of the requirements... I'll give it a try:
How about multiple 'channels' in your observer, each view could then subscribe only to the 'events' it is interested in. Let's say you have a status update in one component, only those views that are actually stated interest (because they have subscribed to it) will be notified. On the other side if you change a GUI setting you still have the possibility to notify all active views.
Another solution could be adding a 'manager' class which takes care of filtering events BEFORE they are distributed to observer(s). Events would get only where they belongs (that means your views can be simple and react on everything they get). My personal feeling is to avoid (middle) manager classes, they make e.g. code maintenance harder and information flow tends to be less elegant.
Hope this gives you some ideas, happy designing!
/Moak
|
|
|
|
|
I actually went down both of these paths at first and both seemed to work well when there was a static 10 or 20 sets of possibilities.
As developer teams started pumping out panes it became apparent that a VERY dynamic pattern would be needed to block or allow flow of logic. Whether this logic of opening a door was in a middle manager class or on each pane the concept still needs a very strong and dynamic solution/pattern.
On some of the MSDN forums it was suggested to use a Model-View-Controller and Event-Broker pattern but that would require a very time intensive and costly rewrite of some core components. =(
I should have added to the original post is that each time a pane is created it will have a different key and door. In a basic example think of a pane with a simple grid that displays apples. The user adds the pane again that displays oranges. The two panes are linked but only work having to do with apples would affect the pane that shows the apples. Unfortunately the application is a very data intensive scientific/mathematical program so the key and door can be very complicated.
|
|
|
|
|
Willliam Doman wrote: I actually went down both of these paths at first and both seemed to work well when there was a static 10 or 20 sets of possibilities.
Without knowing more about your scenario... maybe you need to rethink your data distribution and split up responsibilities even further (breaking up one big problem into many smaller individual problems could help). Sometimes it's easier to have a manageable level of complexity in individual parts, than trying to handle all at once.
|
|
|
|
|
I totaly agree with the concept of breaking the problem into smaller pieces help solve complex problems. Its the essence of what we should do in every solution. =)
The solution could be as simple as the guts in a method signature such as
bool OpenMyDoor(key) {/*code*/}
The question is geared more twords managing the creation of keys and doors so they fit together and can be tested dynamically. I'm sure at some point they will want one key to open several doors...
The Brooker with Model-View pattern seem to the most popular suggestion on all the boards. Looks like it might be a long night. =|
|
|
|
|
|
Willliam Doman wrote: The question is geared more twords managing the creation of keys and doors so they fit together and can be tested dynamically. I'm sure at some point they will want one key to open several doors
Perhaps a kind of 'routing tables' concept would work. Basically the distribution of data is not decided by the type of data... but instead by a runtime configuration for destinations. An example: one destination could stand for a collection of views (multicast) while another just for one single view (unicast). This might offer a level of indirection with better control over data flow.
|
|
|
|
|
Willliam Doman wrote: Each pane communicates through a modified observer pattern to all the other panes that are created.
communicates what?
|
|
|
|
|
I guess I wasn’t clear enough and I applogize I should have read the guide twice. It would have made all the difference for you I'm sure.
The answer is *Anything*
=)
|
|
|
|
|
Sorry, I had the "Read the Guide" link in my signature from another post. Forgot to take it out on yours. My bad.
Willliam Doman wrote: The answer is *Anything*
So it's untyped then? If so you could build a reflection based mechanism that works from meta data to avoid hard coding everything.
led mike
|
|
|
|
|
Please tell me where have system planning software to download, free to try (or free).
Open source technology environment. Please tell me where have system planning software for Open Source system to download, free to try (or free).
bright, light, sun, pilot in morning, look at the plane
rural field, green rural plant, squares, Earth, broad field, vast land.....................................................
|
|
|
|
|
|
Modeling software for development of enterprise information systems.
Including business process modeling (BPM), component and object modeling, data modeling, structured analysis and design.
Plan, model, and execute
Enterprise architecture
Simulation
1. For best performance environment.
2. For open source environment.
bright, light, sun, pilot in morning, look at the plane
rural field, green rural plant, squares, Earth, broad field, vast land.....................................................
|
|
|
|
|
LuckyGreen wrote: Plan, model, and execute
Enterprise architecture
Simulation
Telelogic (http://www.telelogic.com/Products/) has system design and management tools that I used in the past. I think they have try-out versions...
|
|
|
|
|
http://www.freeprojectsinfo.com/free_projects.html
By,
Senthil Kumar.V
|
|
|
|
|
Hello,
we have to make applications which has to make very computationally intensive operations.
For that in the past we have used C . in the last year I have tested c# with the result that it was to slow. But the possibilities to make forms and so on was great. for that we have decided to use c++ and for the graphical environment .net. In this case the best solutions seems to use c++/cli. But with that we have a lot of problems. It is impossible to make dlls, which have parts in c++ und .net. (problems exporting the classes and so on...). a lot of people has the same problems. another problem is that CLI is not implemented well in Visual studio (slow,a lot of errors in the designer...).
Now we search for possibility to design an application which has booth advantages. Easy to make the visual part and fast for the whole computations. Is there any easy way to communicate between 2 (maybe) programs, exchange data which is needed in the other part, it is fast (espacially for the computation part) and so on?
Best regards
Hansjörg
|
|
|
|
|
Hi Hansjörg,
I'm not sure what computationally intensive operations you are attempting to perform but there are a number of ways of improving the performance of your application and it all depends on the specifics of what you are doing as to the best way of breaking it down.
I struggled for performance on my final year project (which was analysing webcam pictures in real time). I considered the possibility of writing the core in C++ and calling a library but in the end I decided I couldn't be bothered to do that and simply used an unsafe { } block within C# to give me my pointers back so I could analyse the bitmap at the byte data level. That worked fantastically to give me the performance I needed (it might even have been better than calling a dll library function since I wasn't consistantly making external library calls).
Other options are adding threading to your app, using a C++ service running on the same machine and communicating with that over remoting calls (this is not a particularl safe or uncomplex option, but if you really don't want to use dlls it could be a work around).
I'm assuming your interface will already be on a seperate thread in the .Net app so it doesn't freeze and you can do you computation in the background but let us all know if that isn't the case as it may affect your outlook on the whole thing.
Best Regards,
Adam
|
|
|
|
|
Hi Adam,
we have also a lot of image processing (we have every second about 3 high resolution pictures) and some other task which control the production in a plant. all this operation have to be "fast". If we don't use the #pragma managed(push, off) our calculations needs about 100% more time to finish.
Dll's would be also possible to use. But here we have a lot of problems to make the dlls working, because we want to include inside not only unmanaged stuff but also some visualisation which applies to this optimizations (settings...).
Best regards
Hansjörg
|
|
|
|
|
hansipet wrote: It is impossible to make dlls, which have parts in c++ und .net. (problems exporting the classes and so on...).
I don't know what that means but I have not had a problem creating the following:
(1)
C++/CLI DLL (mixed mode) that exports native C++ classes that are consumed by a native C++ application. Exported native classes use managed code to perform some work and then marshal results back to native memory consumed at the native application layer.
(2)
C++/CLI (mixed mode) assembly that publishes public managed classes that are consumed by .NET managed applications. Managed classes that use mixed mode to perform operations by using Native C++ classes and marshal the native results to managed memory for return to the managed application layer.
If you are trying to do anything else I would need an explanation to understand what that is.
led mike
|
|
|
|
|
I think it's important that if a method throws an exception, the object from which the exception is thrown is left in a consistent state, that is its invariants are left intact.
This can be challenging, though. Consider a method that sets a value:
public void SetValue(int value)
{
this.value = value;
}
My current approach to this is to postpone updating an object's values until an operation has completed successfully. This means possibly caching temp values as you perform a series of operations, each of which may throw an exception. Once everything has completed, we can update the object's values. So instead of the above with the assignment to 'value' taking place at the beginning method, we move it down to the bottom.
Thoughts?
|
|
|
|
|
Greetings!
I noticed this discussion board area was largely focused on design patterns, however; I am hoping that someone can help me with this project I am currently working on.
Essentially what I need to accomplish is to create an application for X Windows (Gnome) that will act like a Netzero banner. It will have advertisements on it and ideally when other applications are maximized they will not occupy space under this window.
Essentially this window will be about 100 pixels high and will span the entire width of the screen. Presently, I can accomplish every aspect of this application except for making the window non-overlapping. Please note that this is not the meaning that non-overlapping generally refers to but what the phrase itself describes is what I'm trying to accomplish.
Any help would be greatly appreciated! If anyone knows an open-source application that accomplishes this I will happily take a peak at it's source code! Worst case scenario I'll look at the gnome source code to see how the gnome panel operates. Essentially, this will have to act like another start menu/gnome panel.
Thanks!
|
|
|
|
|
CP is dedicated to devlopment on the Windows platforms, using Microsoft Visual Studio Tools. Perhaps if you asked this on a Linux centric site[^], you'd actually get an answer.
|
|
|
|
|
There are several businesses, what should I do first.
Please instruct in detail steps.
Help Software Business System Analysis
computer 3 PIII 733, 600, 500. Celeron 1000
Disk drives several 6G disks, 4G, 2G, etc.
Display adapters 1 2 integrated
DVD/CD-ROM drives 2 1 rewritable
Floppy disk drives 3
Keyboards 3
Mice and other pointing devices 2 usb 3 ps/2
Monitors 1
Network Adapters 4
Sound card 1 3 integrated
microphone 1
speaker 1
Handwriting pad 1
usb drive 1
restore card 1
PCTV card 1
(5 port) Switch 1
ADSL
resume management
partner management
document process
business decision
analysis
trade company
supplier database
group mail
System planning
Target, Strategy
System analysis
Requirement analysis
Functoin requirement
Performance requirement
Resources and environment requirement
Reliability requirement
Security requirement
User interface requirement
Cost and development progress requirement
Estimate entendibility requirement
Solution
EDI
Electronic payment
Web purchase payment
ERP
SCM
CRM
DSS
OA
DEM
IRP
Web Marketing
Logistic System
etc.
Please suggest
Please suggest what I should do first.
There are several businesses, what should I do first.
Please instruct in detail steps.
Lucky Green
|
|
|
|
|
Do? Do what? You listed a bunch of hardware and buzz words. Nowhere do you say what the end goal is. So, if figuring out what the requirements are eludes you, you've got no hope of ever making any progress on whatever this project is.
|
|
|
|