|
I would like to know where to find the OOPS/design patterns and principles discussion in code project, or is there any in here?
Thanks,
[More information] : I was looking for something like this:
^http://stackoverflow.com/questions/tagged/solid-principles[^]
anyways thanks for the responses people!
modified 1-Oct-13 11:25am.
|
|
|
|
|
OOPS and design patterns are different concepts. What's to discuss, outside of the definition the Wiki gives and the well-known patterns?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
You are going to be better off either using the search built into code project than asking here.
Ass Eddie says, OOP and design patterns are different concepts. You get design patterns for non-OO languages, though good OO-based design patterns help you adhere to OOP.
You might want to search for the "Four Pillars of OO", there is a lot of stuff out there about this. You should learn, and more importantly understand, what they are, what they mean and how this expresses itself in your chosen language. You'll save yourself a world of pain and spaghetti code in the future if/when you manage this.
Design Patterns generically are well-know (and defined) solutions to common problems. Really the pattern is a name given to such a thing,so we can discuss this as shorthand. The chances are you've actually used or implemented a pattern without knowing it. For example,c# events are an implementation of the observer pattern, so if you used an event you've unwittingly used an observer patter, There are lots of these patterns (and pseudo-patterns and anti-patterns) on the net - find out which the common ones are, and implement them.
|
|
|
|
|
If you are looking for articles on OOPS just do a search here[^]. It should give you tons of information to sift through.
|
|
|
|
|
Am sorry for not being clear, I meant to say OOPS, Design principles and pattern. My intention was not to link OOPS with design patterns though. Anyways thanks to Abhinav S for sharing the link to search page.
The intention of this question is to find any forum topic to go through some real-world issues faced on these concepts (wrong usage I mean) and the discussion about how to solve those, rather than going through the tutorials on Dog, cat, apple, mango, etc.
|
|
|
|
|
justgovi wrote: to go through some real-world issues faced There is no list of specific problems that get solved using OOPS/design patterns. You're looking at dishes where you can use a fork, while you should study the fork - that way you'll be able to explain why soup won't work, even without having a pointer to a previous real life pain.
..and we do have articles on various patterns that use "real world" examples. Yet, that's what they are; examples. An example of a for-loop does not show where a for-loop would be beneficial (compared to a while loop), it doesn't convey the abstract idea.
As for the OO-principles, they're general guidelines. Each of those guidelines comes with a reasoning.
justgovi wrote: wrong usage I mean Google for the anti-patterns and you'll find them; God objects, ravioli-code and much more.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
For design patterns grab yourself a copy of the Head First Design Patterns book - it's a decent introduction as it uses examples. The book does use Java as the language to illustrate the patterns however if you are familiar with C# this should be no problem.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Seconded. This is a really good introduction to design patterns.
|
|
|
|
|
Hi
I am learning programing, C# and I am on Arrays part. So I have this code and I don't understand.
static void Main(string[] args)
{
int[] n = new int[10];
int i, j;
for (i = 0; i < 10; i++)
{
n[i] = i + 100;
}
for (j = 0; j < 10; j++)
{
Console.WriteLine("Element [{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
Firstly I would like to know, how can I return values of i for loop, without using j for loop.. and why j for loop was used to display output.
|
|
|
|
|
What you need to understand is more fundamental than that
i & j are arbitrary - you can have anything as long as it is an integer - furthermore, you can re-use the same integer where both i and j are used in your diagram
so
int myArrayCounter;
is also valid and will do (and likely better than 'i' or 'j').
What's really important, is that you realise
a) you have an array of 10 integers 'n'
b) the counter required to access the elements of the array could have any of these values 0,1,2,3,4,5,6,7,8,9
you really need to read your textbook/talk with your teacher/tutor
you can start by drawing the loop on paper
Sta_Horse wrote: int[] n = new int[10];
means
n[0] = undefined
..
n[9] = undefined
(because the array hasnt had its values set to zero)
Sta_Horse wrote: for (i = 0; i < 10; i++)
{
n[i] = i + 100;
}
So, on the first loop, i = 0, yes ? so replacing i with '0', gives n[0] = 0+100 = 100
on the second loop, i = 1 - so n[1] = 1+100 = 101
..
on the last loop, i=9, so n[9] = 9+100 = 109
n[0] = 100
n[1] = 101
... you get the picture
[n9] = 109
'g'
|
|
|
|
|
In C#, just like in Java, arrays are in fact initialized to zero/null (the CLR allows value types to have a parameterless constructor and will invoke it for every element in a new array and you could make an array filled with non-zero that way - but you can't create such a type in C#).
|
|
|
|
|
|
Okay, what's happening here is that you're using two loops to reference the same array elements. Now, I'm not sure what you mean by returning the value here, because the Main method is void, so it doesn't return anything. If, you're talking about how you return an array from a method, you would declare the method with the array type as the method type, e.g. public int[] GetValues() . If you wanted to compress your loops into one loop, you would move the Console.WriteLine immediately after the line n[i] = ... .
|
|
|
|
|
You presumably know how a for loop works - but I'll recap just in case:
for (init; test; alter)
Where:
init sets up the initial conditions - in your case, it sets i or j to zero.
test checks to see if the loop should continue - if test is true , it will.
alter allows you to modify the conditions so the the test will eventually become false .
So in your first loop, the value of i changes by one each time (in the second loop, the same thing happens to j ) so each time the loop executes, it accesses a different element of teh array, and sets it to a different value.
For the second loop, it outputs each element in sequence.
There is no particular reason why the person who wrote that used separate variables i and j for the two loops - probably just for clarity - they could be the same variable without affecting the rest of the code.
Personally, I would change it slightly and declare the loop guard variable inside the loop:
static void Main(string[] args)
{
int[] n = new int[10];
for (int i = 0; i < 10; i++)
{
n[i] = i + 100;
}
for (int j = 0; j < 10; j++)
{
Console.WriteLine("Element [{0}] = {1}", j, n[j]);
}
Console.ReadKey();
} As this makes it clearer that i and j are only relevant (or indeed available) inside the loop. Again, the name i could be used for both loops:
static void Main(string[] args)
{
int[] n = new int[10];
for (int i = 0; i < 10; i++)
{
n[i] = i + 100;
}
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Element [{0}] = {1}", i, n[i]);
}
Console.ReadKey();
}
The only instant messaging I do involves my middle finger.
|
|
|
|
|
It's an "example".
the first loop defines each element in the array, the second loop runs through it to show in output that you have an array with filled values.
Normally you fill your array in one class and use the values somewhere else (in another class, method, ... eg) not immediately after initialization.
in short, the example just shows -> in -> out.
|
|
|
|
|
|
Here[^] is a video on this topic.
|
|
|
|
|
Hello everyone,
I am working on a project and need your help. I have a div having the search results in the form of links or URLs . Now I want to save them in a file. Can anyone guide me that how can I extract and save those links from div to variables or any simple data structures like array or arraylist.
Waiting for quick response!
Thanks in advance.
|
|
|
|
|
|
Parse the div content and look for the a or href tags within that text.
|
|
|
|
|
Thank you for reply. Actually now I am trying t parse div but y code is not working. Here it is :
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(this.Page.MapPath("~/Default2.aspx"));
HtmlNodeCollection bodyNodes = doc.DocumentNode.SelectNodes("//div[@id='wrapper']/a[@href]");
foreach (var node in bodyNodes)
{
string href = node.Attributes["href"].Value;
}
But the selected nodes are empty. May be because it only has content on runtine otherwise its empty. How to get div data on runtime ? Please help.
|
|
|
|
|
First find the div in contentplace holder like this make sure u have an atribute of runat="server" in ur div and controls you want to find.
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ContentPlaceHolder myContent = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
System.Web.UI.Control Testdiv = myContent.FindControl("TestDiv1");
System.Web.UI.Control anchor1 = Testdiv1.FindControl("Your Anchor id");
}
}
}
}
|
|
|
|
|
Thank you for reply. Actually now I am trying t parse div but y code is not working. Here it is :
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(this.Page.MapPath("~/Default2.aspx"));
HtmlNodeCollection bodyNodes = doc.DocumentNode.SelectNodes("//div[@id='wrapper']/a[@href]");
foreach (var node in bodyNodes)
{
string href = node.Attributes["href"].Value;
}
But the selected nodes are empty. May be because it only has content on runtine otherwise its empty. How to get div data on runtime ? Please help.
|
|
|
|
|
Hi,
I m redirecting my abc.aspx page to default page with querystring then after reading querystring i want to redirect it again in abc.aspx page bt m nt getting url wid querystring in default page its showing null,so i want to get url of abc.aspx?id=11 with querystring in default page only...plz help me
-- modified 30-Sep-13 18:37pm.
|
|
|
|
|
Please don't cross post. You've already asked this question here[^].
/ravi
|
|
|
|