|
hi everyone..
I want a tool to plot real time graph for .net platform.The data which has to be plotted is continuously coming in some time interval.Is there any tool available?
Also Performance issue is there.Performance also matters when I am using the tool.
Thanks in adv...
|
|
|
|
|
jainiraj wrote: I want a tool to plot real time graph for .net platform
.NET isn't a "realtime" platform, nor is Windows.
jainiraj wrote: The data which has to be plotted is continuously coming in some time interval.Is there any tool available?
Write an application that handles the communication and stuffs the data in a queue. Have another one draw some nice graph using that data. There should be some articles on charts. Bars or pies?
jainiraj wrote: Also Performance issue is there.Performance also matters when I am using the tool.
Simple; don't use VB6
As a reminder; cross-posting isn't a nice thing to do.
I are Troll
|
|
|
|
|
I was told I should probably ask this here, even though it relates to MFC, it is probably more a design question. So,
At my workplace we have a number of programs (sub systems) which make up our software. Some of these programs need functionality from other programs and I'm trying to find a good way to perhaps modularize each program so that common code/resources can be used "globally". The current example forcing me to find a solution is the need to launch a dialog from our Accounting package from another sub system. The big problem is that this is quite a large dialog and depends a lot on things from the Accountings MainFrame.
I was thinking that for each sub system I could create a DLL which contained common dialogs, etc that could be used by other programs. The problem I face is that a lot of the dialogs have dependencies on their parent programs MainFrame and I'm not sure how to get around it. I guess one solution might be to take everything out of the MainFrame and put it into its own class which can then be passed to the DLL.. but I don't even know if that would work as I still need to Initialise this new class the same way it would be done in the parents program, but now in the other sub system.. though in saying that the DLL should probably be responsible for setting itself up.
Your thoughts?
Cheers
|
|
|
|
|
Aaronov wrote: I was thinking that for each sub system I could create a DLL which contained common dialogs, etc that could be used by other programs. The problem I face is that a lot of the dialogs have dependencies on their parent programs MainFrame and I'm not sure how to get around it.
That will depend on the type of dependency. If it's an enum that get's shared, move it to another library that both the DialogDll and the ParentProgram can access. That could also be done for customized buttons and UserControls - if those have been designed with a separation of UI/data.
It it's data that the dialog depends on, I'd suggest using some kind of IPC with the ParentProgram, or calling a webservice that interacts with the ParentProgram's datastore.
Aaronov wrote: though in saying that the DLL should probably be responsible for setting itself up.
Can I translate that to "the class inside the assembly is responsible for constructing itself?"
I are Troll
|
|
|
|
|
Yep, that translation is correct. The code that is moved from MainFrame into a class in the DLL is responsible for setting itself up. The dependencies are mostly just basic variables, enums, etc so I think it will work by moving them into a DLL.
What's an IPC?
|
|
|
|
|
Aaronov wrote: What's an IPC?
Inter-Process Communication
Pipes, mailslots, memory-mapped files.....
|
|
|
|
|
Hi everyone,
I have been developing C# applications for about a year now and I am starting to grasp the more advanced topics. The problem is, I know enough about the C# language to write code for ADO.NET and other technologies, but not skilled enough to write code adhering to design patterns and encapsulation (i.e all my code is written in codebehind in my form class).
I am now stuck in a bind because I don't want to write code in code behind, since I have been reading it is hard to maintain, etc, etc but I am not yet good enough to properly setup inheritence and good design in my code base!
Is it ok to develop a large application all in code behind and then try to refactor it out later?
I am just completely stuck!
Any help appreciated
Dave
|
|
|
|
|
DavidKiryazi wrote: Is it ok to develop a large application all in code behind and then try to refactor it out later?
Absolutely not.
if you to do so,you will find the workload is far beyond your imagination.
did you read any article about "Object-oriented design patterns"?
|
|
|
|
|
thanks for response Alegria.
I haven't read any books about design patterns. I have mentioned it to a couple of work colleagues but they insist that the best way to learn is just to write code. I disagree because I guess my opinion is that if you learn to write bad code, then it will be harder to change your ways later on.
I guess I might need to read a good book on object oriented design and design patterns. I know the GOF is a must, but apart from that is there any you can recommend to get me up and going? Basically I need something that teaches me OOD that does not use the simple examples like Cars.
I am also considering the purchase of Code Complete 2 and I have stated reading "The Pragmatic Programmer"
Dave
|
|
|
|
|
Code Complete is a great book. I own it and I make it a point to re-read through it every year just as a reminder/refresher. That and 'Software Requirements' by Karl Wiegers is great too.
GOF is important from a high level conceptual point, but in reality I think you will find that thinking in OOP is clearly more important than learning a bunch of patterns. Not that they don;t give some great advice, but I personally think that learning to think in layers is more important that focusing on learning a set of specific patterns.
Don't get hung up so much on the simple examples that most book use as much as making sure you get the higher level ideas behind them. Remember that authors have to not only write so the reader can understand a complicated concept but often times the 'editors' at the book companies can have a huge impact on the content of a book and cause it to be dumbed down a bit too much. You want to read some great stuff on OOD grab yourself a membership to ACM (or IEEE if you happen to be independently wealthy) and read some of the papers submitted there. Some good reads.
If you really want to get used to thinking in a detached manner (IE: code implementation separate from UI and data layers, take a look at doing some work in SilverLight. It FORCES you to NOT put code in your UI layer at all, simply because you really can't. It makes you think in layers and that is a good thing that you can end up leveraging even in the regular application world.
|
|
|
|
|
The Pragmatic Programmer is a gr8 book. I have a paperback and like to read it often.
It gives you discipline in writing code.
|
|
|
|
|
DavidKiryazi wrote: Is it ok to develop a large application all in code behind and then try to refactor it out later?
How about a lot of small applications, calling them prototypes and have an intern make some nice OO code of it in their own pace?
I've seen quite some applications with business-rules embedded in the form-events - some of those started as mere Access-databases, with the same copy-and-paste code all over each form. Over time, requirements and complexity grew, and programmers got added.
Bad code is often better than no code at all, but it also has some predictable drawbacks;
- Refactoring
- "Hunting" for bugs
- Security holes
- Actual undetected errors that mess with user-data without the user detecting it (!)
"You still have $10.000 in your account" or "All files safely backupped! (Total: 0 files)"
- A messed up taborder
I are Troll
|
|
|
|
|
Thanks for response Eddy.
Eddy Vluggen wrote: How about a lot of small applications, calling them prototypes and have an intern make some nice OO code of it in their own pace?
The only problem is that I am somewhat of an intern lol I guess I am trying to develop my skills in the right direction, rather than developing bad habits and having to break out of them late (which is always harder).
I will play around with some prototyping of smaller applications and maybe post some results of what I have acheived.
Dave
|
|
|
|
|
don't want to write code in code behind, since I have been reading it is hard to maintain, etc
Business logic and most of code is generally written in code behind. you must not refrain from it.
Is it ok to develop a large application all in code behind and then try to refactor it out later?
Refactoring costs high if not done properly and many times its tough decision in large projects.
'Refactoring: Improving the Design of Existing Code' by Martin Fowler
is a good book, you can refer.
|
|
|
|
|
Yes, it may not be as maintainable and extensible as you would like but the answer is Yes. When I asked for a peer review with the first team lead I ever worked for, a Russian, his response was "It works? it's good" Great advice. In fact if it works, it's great.
|
|
|
|
|
Have to disagree I'm afraid.
Software that 'works' is not good enough. Good software meets the following criteria
- Performs its function with minimal bugs
- Code Easy to understand by any average developer that may work on it in the future (if advanced techiniques are used that the average developer would not understand they should be commented to at least provide a jumping off point to learn that technique)
- Designed in such a way that changes to requirements can be applied with minimal impact (loose coupling)
- Designed in such a way that any single modification need only be made in a single location (DRY principle)
- Designed in such a way that any fairly generic bit of functionality can be re-used without too much hassle
- Exhibits reasonable performance in terms of speed and memory usage (according to requirements)
- Future proof to a fair degree (in terms of scalability and according to requirements)
and thats not to mention the little nuances such as naming conventions and comment styles
|
|
|
|
|
Hi Guys,
I am designing a Job Engine website for my developers. I have seen a lot of Job engine website in the net and ofcourse i know how the job engine works. But i have a point which worth to be discussed.
ofcouse there will be database for jobs adverts and job seekers profiles/cvs. where job seekers will search for jobs and apply.
Ok, The point that i would like to discuss here is: when the job seeker apply for a job. In real-life scenario, when a job seeker (John Smith) wants to apply for a job. he will send his cv to the employer. And again if the employer after some time advertise for another job. and the Job Seeker (John Smith) submitted his CV (but this time his profile/CV got update from last time).
The Employer, in this case will have two cvs for (John Smith). Old one and Updated one.
Now, comming back to our system design. the Job Seeker (John Smith) registered in the website and he created his profile and build his cv. of course he can update his profile/cv any time.
If we follow the above real-life scenario, by making the system copy the entire job seeker profile againest the job advert he is appying. we may end up with the following:
1. Put more weight on the database by creating multiple job seekers profiles.
2. The Employer may get confused by seeing an old job seeker profile. and when he search about the same job seeker (John Smith) in the job seekers database, he will see a different (updated) profile for the same job seeker.
Ok, the second scenario (which i am plannig to do) is: keeping a single profile for each job seeker and when a job seeker apply for a job.. we just link the job seeker profile with the job advert (no profile copy). but this way we will face the following:
1. Whenever a job seeker updated his profile it will get reflected in all the job advert responses. I mean, when an employer view the responses againest his job advert. he can see for exmple, application date, and job seeker name. and when he click on the job seeker name it just reading the job seeker profile from the database (the current). even if the job seeker applied before a year and before he updated his profile.
what i want from you guys, just your feed back and thoughts.
awaiting your replies.
Hussain Mohammed Saleh Attiya
ISP Technical Manager
Atyaf Telcom - Bahrain
|
|
|
|
|
Hi,
Unfortunatly, no body gives his thoughts or feedback. So, i am going to reply myself.
first of all, when a job seeker builds his/her CV he is always upgrading it during his career to make it more richer and professional.
noboddy will, downgrade his CV. Hince, in any case when the employer view the job seeker cv (the current one) which he submitted a year back and same cv he submitted now.. will not make any different for the employer.. the CV is always uptodate.
so, the system should be designed using the second way. which is keeping a single profile for the job seeker
Hussain Mohammed Saleh Attiya
ISP Technical Manager
Atyaf Telcom - Bahrain
|
|
|
|
|
You are obviously a child of today, no patience at all.
I think you have it wrong, try this scenario.
I am happy applying for 3-4 different types of contract, developer/architect, winforms developer, database, web (under duress) and shortly silverlight. Add in VB and/or C# and I may want 5+ CVs
Now I want a different CV emphasising different skill sets based on the type of contract I want to apply for. Also I have decades of development experience and can easily fill 10 pages simply by briefly listing the projects I have worked on. Most HR teams will choke on anything over 2 pages but some will want the lot so I offer a summary CV and a full project listing.
So in this instance I would retain all CVs, categorise them and allow the developer to indicate which CV to put forward for each contract. I would also have the functionality to replace a CV of x type with a new one.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Thanks Mycroft Holmes,
about having funtionality of creating professional CV containing projects, summary etc. it is already in the design plan.. but i did not mentioned.
we have also, customized a recruitment website for our client using a puchased source code from the following UK company
http://www.strategies.co.uk/products/job-board-software.asp[^]
that was classic asp we bought before 3 years. i dont know if they have the .Net version or not. Anyway,
those, guys also allowing job seeker to replace a CV when he is attempt to apply for a job. this will do the functionality of the differnet set of skills you mentioned.
in our application, we are trying to collect all the good features from the different jobs applications and also, we have to look the real-life HR scenarios.
thanks for your reply
Hussain Mohammed Saleh Attiya
ISP Technical Manager
Atyaf Telcom - Bahrain
|
|
|
|
|
Well doing what was suggested IS real life
It is always standard procedure (talk to a few people that help you locate jobs) to tailor your resume to a specific target, so many people have many multiple versions handy that highlight specific areas for specific reasons. A system that allows profiles to be built should account for that.
While it sounds like you are trying to consolidate ALL a persons information into one picture of a person that covers all their interests and experience, you may find that muddies the waters a bit when trying to do to searches and weighted matching.
|
|
|
|
|
Hi,
The system is already designed and almost going to be finish... from our experience with many clients when we set with the HR team and take all thier requirements. Yes, it is a standard procedures.
Job Seeker Register -> update his profile (his personal details, contacts and address) --> build his cv (using cv builder) or upload a document (CV).
when he attempt to apply he either apply with his current CV or upload new one.
this standard functionality is already taken into the account of the system. What i wanted is just to collect thouhgts and feedback. But i raise just one point which is:
when a job seeker update his CV using CV builder tool. Technically, he his editing the current record not keeping it as an old version CV and building a New CV from scratch (Adding new Record.). And whenever he want to apply with different cv he can do:
1. upload new cv when he attempt to apply for job (this is the easy way)
2. using cv builder to build a new cv (this will overwrite the existing one) then apply with his curent updated cv.
that was my point
bcz some of our client asked for copying the entire CV records againest the job and keep the orginal one unchanged. We are trying to come up with a general job application that fits most requirements.
the point i mentioned. i felt it is not right.
Hussain Mohammed Saleh Attiya
ISP Technical Manager
Atyaf Telcom - Bahrain
|
|
|
|
|
I have been reading "The Art of Agile Development" and it says that design of software should be minimal but not entirely suitable for change.
That instead, classes and such should be built for what the requirements currently do and not to make them for future changes unless required!
It does mention that some people may find that idea "unprofessional" such as my self but it does have a point that "In the end your architecture will reflect change suitable for the requirements you need not what you *could* need"....
Whats your ideas on this?
Thanks
|
|
|
|
|
venomation wrote: It does mention that some people may find that idea "unprofessional"
The professional thing is to deliver what has been agreed upon with the customer. I'm not going to provide a plug-in architecture for something like a ping-command, nce it wouldn't add much value, merely luggage.
Imagine the ping-command popping up each day when you start Windows, claiming that there are new updates to be installed
I are Troll
|
|
|
|
|
Eddy Vluggen wrote: I'm not going to provide a plug-in architecture for something like a ping-command
While I tend to agree HERE, if as a developer/architect, you see an opportunity to design for expansion then why not do it?
When you consider it really, even PING follows a basic 'command line' pattern:
1) Allows the user to select a command
2) Allows the user to provide basic command line args
3) Allows the user to get help explaining the user of the command
4) Allows the use of various command line options
5) ...
so in a way, PING IS using a design pattern.
|
|
|
|