I think B is critical because without a second, third, fourth voice everything becomes an echo chamber. Perspective from experience is crucial in a professional level book.
Not sure what all that means but if you read the back cover synopsis you would not expect to see any echo chamber stuff in there.
Ennis Ray Lynch, Jr. wrote:
As for A your definition of coverage and advanced topics may be different from mine.
Well I am not comparing this to something like Advanced Windows (Richter). The back cover synopsis of the book it does not claim to be anything like that. The only part of the back cover I disagree with is "so that you can begin programming like an expert right away", no book should claim that. In this case it covered topics like Remoting and EnterpriseServices which I used and found them to be "exactly" what I needed. First a simplified discussion and example leading to more complex aspects of the topic resulting in coverage of a variety of implementation options. Please note, that does not mean "in depth". The synopsis also says "help you gain a well rounded understanding", which I believe is accurate.
First I want to congratulate you on choosing to travel the path of OOP instead of reading fat books that tell you how not why. I like Robert Martin however his C# book is not that overwhelming but check out his web site www.objectmentors.com and when you have tired of that try www.oodesign.com.
I like Apress books for C# I used Pro C# 2005 and the .NET 2.0 Platform, Third Edition which was not as good as his 2003 Book but it is a pretty solid reference.
Foundations of Object-Oriented Programming Using .NET 2.0 Patterns by Christian Gross is a great book on OOP and Patterns you may want to look at I have found it quite good but it is complex. Beyond that may I suggest some O'Reilly books on the framework and c#.
Thanks alot for your reply, thanks to others too who took time to reply to my query.
In our part of the place, its easier to get a Wrox book rather than Apress or others, so I guess I'd get a Professional C# 2005 from Wrox and also use Internet as a resource.
But I always feel that the way we code in my company (it has a strength of 6 .NET developers) is of no good when I see code and articles posted by members of CodeProject. I would like to ask one thing, where can a person who is new to programming learn good coding standards, how can I know if the code I have written is good, how can I ensure that my piece of code doesn't waste memory.
Only thing commonly told here to improve performance of out application is to Dispose all objects we create and use more of .NET Classes. Is there any way that a person can get to know such things?
I hear you when it comes to standards. Programmers are probably the most opinionated group of people on earth I think this is because they are usually pretty bright and tend to think for themselves. The down side to this is trying to get a review without to much opinion such as coding standards.
In my humble opinion coding standards should be driven by need more than conceptual designs. My coding has changed because I truly hate producing code that I have to support or is riddled with bugs. Here is a list of stupid things I have done that do not work. Methods that are long and hold duplicate code (bad bad bad), inadequate use of constructors (initialize all member variables), a class that handles too much work (makes the program fragile) and my favorite classes that have dependencies on other classes to do their work.
I like the work from Robert Martin and Martin Fowler both of which have great web sites that provide in depth ways to solve my bad habits. I suggest that you start there then just review as much code as you can look for the why not the how in the design.
As a side note one of the things that our team has instigated is the practice of each team member presenting an OO Design principle or Pattern every year. What this will do is provide an outlet for research into the craft that we practice and creates a healthy learning environment. There is no magic book or web site you just have to dig deep and get very good at what you do and it takes time.
I would like to offer this insight however and I will paraphrase from a post I read here on CP. The languages we use are not for the benefit of the compiler they are structured the way they are for the humans. The code is written into IL in a much different format than your design. Use the OOD to make what you do better that is what it is for the processor could care less about OO so keep your eye on the prize stable maintenance free software.
Best of luck I look forward to hearing of you progress.
I really appreciate your reply, it was a surprise for me that somebody would spent so much of their time to reply to my query! Thanks alot!
I am attending C# classes these days, so I hope I can learn some basics and then go towards advanced topics on my own. I would be really greatful if I can contact you vai e-mail, if you are reluctant to post your e-mail id here, I can give you mine. Its:
If you don't mind that I contact you via e-mail, please send me your e-mail address. I look forward to hearing from you.
This creates a control called ItemCollectionHostControl, which has a 'Items' property. In this, you can add two types - 'IntItem' and 'StringItem'. It doesn't happen all of the time, but sometimes I get the following error message:
"The value 'Test.IntItem' is not of type 'Test.BaseItem' and cannot be used in this generic collection"
You may be able to add some items initially, but try then compiling the project, and adding some more.
Can someone see why this error is occurring, or what I'm doing wrong? If someone could try the code and see if it happens with them, that'd be great too.
I am trying to connect to Oracle database via C# service application. When I try to open the connection i get the exception "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached." This happens at very first instance(not after some interval...)
I have tried to search this on the net, but all in vain. Most of them have given the answere as to check with the connection. Below is the code snippit I am using to connect to database.
Your hint did not help me. This is a strange behaviour, If I connect to the same database from a desktop application developed in C# with the same connection string, it does executes the procedure. But the same tried from C# service application it hangs for a min and then throw this exception.
Let me know if am doing somthing wrong... I am in a pretty bad state with this exception.
As a test, go into the Services manager (Start/Run Services.msc), stop your service and change the userid and password that the service runs under to your id and password. Then restart the service and see what happens.
Even this did not help me. Is there any initial setup that has to be done on my system even before accessing the database from service applications ? like user creation, giving persmissions etc..etc...?
Code is very much the same. I am executing that in a console application. While carrying out your previous instruction I was given the permission to execute services(Log on services). So I restarted the machine and then carried out your instruction. Now I have strong feeling that some permission has to be given to my USERID and PWD on the local machine. And the serive was installed using "LocalSystem" property.
More over I am logging to a domain. Keeping this in mind I asked you about those question. Let me know if you need more info from my side.
Your are right. If I log into machine as a local user i am not able to access the database. Another strange problem, I right click on my console application and then select "Run As" option. Here I am using loginID and PWD, which I have been using so far and working fine. But the application throws an error
The specified module could not be found.
Could not create an environment: OCIEnvCreate returned -1.
But the same application if double clicked returns the correct answere from the procedure.
which seems to indicate the file somehow could have been installed on your machine
separate from the normal Oracle files, so all is not lost.
Search your PC for it, and move or copy it to a more appropriate location (where ever
that might be).
I have a class inhertied from PrintDocument in that I am trying to write in a file while am in printpage event handler. The problem is that the file gets created but there is not text/data. Is it even possible to do.