|
wizardzz wrote: No, don't tell me it's an invisible friend.
Does this friend talk to you and tell you to do bad things to other people?
|
|
|
|
|
My real friends do enough of that.
|
|
|
|
|
Let me be honest here. I am quite rusty having not done any development work for past year. Now, I am planning to create a WCF service based application. I am planning to go for a basic 3-tier architecture and using LINQ2SQL in the background.
I need to know the following:
1. How good is LINQ2SQL provided that I use the objects carefully and dispose them as soon as they are out of use? Is it good enough when we have large number of joins and sometimes, image and file streaming involved?
2. I know I do not need this but how easy or difficult it will be to move to a new database provider if I use LINQ2SQL? Is IOC a better choice?
3. If I go for IOC, has MS done anything good with Enterprise Library recently? I have used V4 and V3 and I didn't quite liked it.
"The worst code you'll come across is code you wrote last year.", wizardzz[ ^]
|
|
|
|
|
Look at Castle. It provides an excellent container, WcfFacility and ActiveRecord.
http://docs.castleproject.org/[^]
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
(if you can suggest a better subjet text...)
In Windows Explorer when you copy/paste a file in a folder you will have something like:
test.txt
test - Copy.txt
test - Copy (2).txt
test - Copy (3).txt
...
and if you copy/paste
test.txt
test - Copy.txt
test - Copy - Copy.txt
test - Copy - Copy (2).txt
Is there a known (described in the Windows UI guideline) algorithm for that?
Is it simple brute force search for the "next valid" name ?
Thanks.
Max.
Watched code never compiles.
modified 25-May-12 15:41pm.
|
|
|
|
|
Why don't you name them TWINS
Jago
|
|
|
|
|
Huh?
Watched code never compiles.
|
|
|
|
|
The way that Windows names files on clash depends on your Windows version. Easiest way to duplicate this is by getting the filename, and checking if there's an entry in the same directory with that constant attached;
SomeDocument.docx
OtherFile.txt
Dialogs.bin
SomeDocument - Copy.docx
Desktop.ini
Iterate the files, check for the constant - and add 1 to the value if appropriate. AFAIK, there's no existing API that does this for you. If there is, I definitely like to know
Bastard Programmer from Hell
|
|
|
|
|
Yeah, that's what I tought.
Thanks.
Watched code never compiles.
|
|
|
|
|
I was wondering if there are any design patterns in object oriented programming that address cross cutting concerns, i.e. I'm looking for approaches that don't involve an aspect oriented language (or AOP features added to an existing OOP language).
The closest I've come to so far is the decorator pattern. Say you have a class with a method called doIt. You want to log (a classic cross cutting concern) the results of this method, so you create a decorator class to wrap the original class. Inside its doIt method, it logs the results returned from the object it's decorating.
Thoughts?
|
|
|
|
|
Leslie Sanford wrote: , so you create a decorator class to wrap the original class. Inside its doIt
method, it logs the results returned from the object it's decorating.
Thoughts?
Sounds like a nice academical excercise; you'd be creating an additional (and relatively complex) object for every class that you'll be using. That might amount to a lot of work.
Simplest solution is a static class (would work similar to Debug.Print), solution I like most would be injection (Some ILogger), solution to be advised would be the logging component of the EntLib.
Bastard Programmer from Hell
|
|
|
|
|
Eddy Vluggen wrote: you'd be creating an additional (and relatively complex) object for every class that you'll be using. That might amount to a lot of work.
Sounds more like 'will' to me.
|
|
|
|
|
Leslie Sanford wrote: I was wondering if there are any design patterns in object oriented programming that address cross cutting concerns,
As stated I doubt it. There might be a pattern for specific situations but I don't suppose it can be generalized for all situations.
Leslie Sanford wrote: You want to log (a classic cross cutting concern) the results of this method, so you create a decorator class to wrap the original class
Nope. Not how I would do it at all. I have been doing logging for 20 years and originally I thought that very idea (logging on all methods) was a good approach. Spending that same 20 years creating back end servers and some with very high volumes I now realize that that sort of approach does not work. One must carefully place logging with careful consideration, otherwise one must deal with massive logs (hundreds of gigs daily) and be overwhelmed with non-essential data when trying to diagnose the very problems that logs exist to solve.
I suspect that a database API layer where one wants logging might be a better example in that one might want to track the actual database calls. However for a case like that I would generate the API code anyways rather than trying to dynamically impose a solution.
|
|
|
|
|
If you are using Castle you can wire up interceptors.
http://docs.castleproject.org/[^]
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
Interesting topic.
I agree with jschell. It is really hard to get the right data logged out from compiled software. It really requires a multidimensional matrix e.g. class x instance id x methods or something like that.
Since, you will never get coders to insert handles in each and every method, the only viable solutions I can see are
1) a set of base classes with carefully placed handles,
2) AOP or
3) code generation.
I think some OOP Patterns like Command, Stategy and State tries to structure computation in a uniform manner, so base classes supporting these patterns might be the place to add handles into.
At work we make code generated Command implementations. If we have the logging level set to debug, we get a log entry when a command completes/aborts. In most cases this is information overload, so we instead raise the the General logging level to Info and add some logging exceptions per class. However, this is currently requiring a recompile.... Pattern-wise this should be possible to generalize e.g. into a LoggingManager with a configuration that can be changed at runtime.
Log4Net can monitor when its config file is changed at runtime. Maybe it also can filter logging based on classes, but I don't think there is a concept filtering per entity id or method tags.
|
|
|
|
|
Dear All,
I want to develop an Hospital Management System, that will include EMR(Electronic Medical Records)
This will be a Huge Application, But i am Stuck, From Where to Start.
I am Developing in .Net and Ms Sql
So, if any one has already developed something like this. I have already started work on this.
Any Scope documents, Features List, DFD etc
All Help is Appreciated
Thanks in Advance
Santosh Pathak
Business Analyst | Project Manager
www.regaliya.com
|
|
|
|
|
Why not talk to your clients? They are the ones who will be able to give you their actual requirements.
santosh_pathak wrote: I am Developing in .Net and Ms Sql
This is one of the classic mistakes. Deciding on the technology before the scope of the problem is understood.
santosh_pathak wrote: Any Scope documents, Features List, DFD etc
As you are talking about writing a product that competes with the big boys here, I doubt that you will find that anyone has documents that they can give you that aren't proprietary and confidential.
|
|
|
|
|
I have requirement from my client.
But that are specific to their hospital
I want to make a Generic application,
My Target Market is India, and here i can target Small Hospitals with that app.
Yes, you are right, deciding on technological aspect was taken on very immediate basis because i had to give some prototypes to them
thnx
|
|
|
|
|
santosh_pathak wrote: My Target Market is India, and here i can target Small Hospitals with that
app.
Then you're going to have to get out and do some legwork. Talk to the hospitals. Find out what they want. It's called market research; without it you'll end up creating an application that doesn't do what they need it to do.
|
|
|
|
|
Ohh yeah,
Just missed out on Market Research aspect
NOTED
thnx buddy
|
|
|
|
|
Hey, hey, hey!
Write any crap that fits your current client's needs.
When you try to sell it to someone else and he requires new things, just inherit from the old object and add new operations.
Isn't that the essence of Object-Oriented Programming?
|
|
|
|
|
Beyond requirements from your specific customers, you should also consider legal and other institutional regulations: are there any laws regarding hospital information systems in your country, at least for specific modules of such a system? Are there rules for encoding diagnoses and procedures (e.g. ICD or OPS codes, diagnoses related groups)? Are there rules for billing? Exchanging data with insurance companies? Exchanging data with general practitioneers? Are there restrictions for accessing patient data?
You could also look at existing hospital information systems. There are also systems with source code available, e.g. http://www.hospital-os.com/en/[^].
|
|
|
|
|
Noted, My decision to Post and get feedback's from you guys was correct.
Bernhard Hiller wrote: Exchanging data with insurance companies? Exchanging data with general practitioneers? Are there restrictions for accessing patient data?
I was missing out so many things.
I checked the Institutional Regulations.
But Exchanging data with other entities.
API and connectors etc
thnx and appreciated
|
|
|
|
|
santosh_pathak wrote: This will be a Huge Application,
Yep.
Do you have any domain experience for hospitals or these types of applications? Do you have a domain experience with large systems?
If the answer to either of those is no then I suspect you need to forget about any attempt to create a general solution. The learning curve is is significant and given that you are suggesting that you have a real customer then they probably are not going to wait forever for you to figure out a general solution.
Other than that you might also note that electronic imaging records in terms of patient records represents a huge data storage requirement. If you intend to handle that then just getting that right can be a huge requirement.
|
|
|
|
|
I dont have Domain Expertise.
But what if, I collaborate with the client in order to develop a system on which we both will work.
His Domain Expertise in terms with Business Logic, My Development Expertise and Hire an Mentor to Guide on the Project.
Data Storage is huge, but i have expertise over that.
and will seek guidance on the same from all of you in this forum.
I agree with the learning Curve, that is what i want to shorten in this project.
Hiring an external mentor who has done such project will help?
Because if i dont make a general solution then my cost of developing the application will not be covered with a single client.
I am also looking to make it Open Source,
there are No or Very Few .Net Based Open Source Hospital Management Project.
Whats Your Take on that?
Santosh Pathak
Project Manager | Business Evangelist
www.regaliya.com
|
|
|
|