++ for SOLIDity! ;)

Open/closed principle for the win!

∞ Andy Badera
∞ +1 518-641-1280
∞ This email is: [ ] bloggable [x] ask first [ ] private
∞ Google me: http://www.google.com/search?q=andrew%20badera



On Tue, Oct 13, 2009 at 12:22 PM, [email protected] <[email protected]> wrote:
>
> Andrew is correct.  Either the CommandName property should be used
> with an array of command names or the Click event handler for each
> button can be set using an array of delegates (i.e. if the handling of
> a button click should be handled outside the containing class with
> minimal coupling).
>
> Point is, classes should be open to EXTENSION and closed to
> MODIFICATION.  Another drawback with your design, Awadhendra, is that
> if event handling for [n] buttons are similar, you'd have duplicate
> code throughout your event handler.
>
> -Ivo
>
> On Oct 13, 6:48 am, Andrew Badera <[email protected]> wrote:
>> Re-read what I said, THEN reply. Otherwise, don't bother. You're
>> missing the point.
>>
>> ∞ Andy Badera
>> ∞ +1 518-641-1280
>> ∞ This email is: [ ] bloggable [x] ask first [ ] private
>> ∞ Google me:http://www.google.com/search?q=andrew%20badera
>>
>> On Tue, Oct 13, 2009 at 4:57 AM, Awadhendra Tiwari
>>
>> <[email protected]> wrote:
>>
>> > hi...........
>> > what ever i understand ur question is that u want to add the button
>> > with the help of array and want  to make the single event handler..
>> > i give u the full program
>> > i think miner error u can solve
>> > public static void createButton()
>> > {
>> >   Button [] b1=new Button[10];//here we initilize the button array
>> >   //now we allocate memory to each button
>> >   for(int i=0;i<10;i++)
>> >   {
>> >       b1[i]=new Button(name[i]); //where name is the array of string type
>> >       b1[i].setBounds........//implement bounds method
>> >       this.Controls.Add(b1[i]);//Adding all the buttons to the form
>> >       this[i].Click+=new EventHandler(clickbutton());
>> >    }
>> > }
>>
>> > protected void clickbutton(Object sender,ActionEventArgs evt)
>> > {
>> >     Button b=(Button)sender;
>> >     if(b=b1[i])
>> >        //implement the code
>> >        //one thing important u have to made the button array as a Member 
>> > array
>> > }
>>
>> > Now if u add any botton in any sequence simply add the button and
>> > register it with
>> > the same fumction
>> > as here
>>
>> > Button b12=new Button("aAA");
>> > b12.setBounds(......);
>> > this.controls.Add(b12);
>> > b12.Click+=new EventHandler(clicknutton());
>>
>> > On 10/13/09, Andrew Badera <[email protected]> wrote:
>>
>> >> Nooooooo ...
>>
>> >> That is just about the least-flexible way to possibly do this. What if
>> >> you add buttons? What if you add buttons early on in the sequence?
>> >> Which mechanism fails more gracefully in the event of error when
>> >> adding buttons?
>>
>> >> ∞ Andy Badera
>> >> ∞ +1 518-641-1280
>> >> ∞ This email is: [ ] bloggable [x] ask first [ ] private
>> >> ∞ Google me:http://www.google.com/search?q=andrew%20badera
>>
>> >> On Tue, Oct 13, 2009 at 12:10 AM, Awadhendra Tiwari
>> >> <[email protected]> wrote:
>>
>> >>> write down the following code---
>>
>> >>> protected void button1_click(Object sender,EventArgs e)
>> >>> {
>> >>>     Button b=(Button)sender;
>> >>>     if(b==b1[0])//here b1[0],b1[1] are the array on which u create
>> >>> the button array
>> >>>     {
>> >>>     //Perform the action for the first button
>> >>>     }
>> >>>     if(b==b1[1])
>> >>>     {
>> >>>        //perform the action for the second buton
>> >>>      }
>> >>>      ////and co on
>> >>> }
>

Reply via email to