SitePoint Sponsor

User Tag List

Page 3 of 3 FirstFirst 123
Results 51 to 67 of 67
  1. #51
    Spirit Coder allspiritseve's Avatar
    Join Date
    Dec 2002
    Location
    Ann Arbor, MI (USA)
    Posts
    648
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston View Post
    I simply design and implement solutions based on my decades of experience.
    ...many of which are design patterns. "A rose by any other name..."

    Quote Originally Posted by Tony Marston View Post
    The same pattern can have different names depending on which patten "bible" you read, so whch name is "correct"
    Both, probably. The only reason people try to name these patterns is to have a way to refer to them. It's much easier to remember "Identity Map" than it is to remember "Fowler's Pattern #195", and it's much easier to communicate which pattern you mean by using that name.

    Quote Originally Posted by Tony Marston View Post
    The proof of the pudding is that you can import a database table schema, then generate the user transactions which maintain the contents of that table, in a matter of minutes (not hours or even DAYS that I have seen with other frameworks) without writing a single line of code. No HTML, no SQL, no PHP. Now *THAT* is re-usability.
    I can do the same thing even faster with PHPMyAdmin. I don't have to import or generate a thing. I would never put that in front of my clients and say "here's your site", though.

    Quote Originally Posted by Tony Marston View Post
    Why should I need to change it if it works?
    It works for your purposes, it does not work for mine. I could not use RADICORE out of the box to create websites for my clients. I would have to make a lot of changes, both because RADICORE is not really a web application framework, and because my requirements are ever changing to keep up with client demands. You say your code is reusable, but what that really means is *you* can reuse it. However, I'm not impressed until you can show me how I can reuse your code to cut down on *my* development time.

  2. #52
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by allspiritseve View Post
    The only reason people try to name these patterns is to have a way to refer to them. It's much easier to remember "Identity Map" than it is to remember "Fowler's Pattern #195", and it's much easier to communicate which pattern you mean by using that name.
    But what happens if I don't use Fowlers's book as my pattern bible?

    Quote Originally Posted by allspiritseve View Post
    Quote Originally Posted by Tony Marston
    The proof of the pudding is that you can import a database table schema, then generate the user transactions which maintain the contents of that table, in a matter of minutes (not hours or even DAYS that I have seen with other frameworks) without writing a single line of code. No HTML, no SQL, no PHP. Now *THAT* is re-usability.
    I can do the same thing even faster with PHPMyAdmin. I don't have to import or generate a thing. I would never put that in front of my clients and say "here's your site", though.
    But can you customise the screens? Add Role Based Access Control, Audit Logging and Workflow functionality? Can you add business rules? How about multi-lingual capabilities?

    Quote Originally Posted by allspiritseve View Post
    I could not use RADICORE out of the box to create websites for my clients. I would have to make a lot of changes, both because RADICORE is not really a web application framework, and because my requirements are ever changing to keep up with client demands. You say your code is reusable, but what that really means is *you* can reuse it. However, I'm not impressed until you can show me how I can reuse your code to cut down on *my* development time.
    That is because Radicore is NOT for building common-or-garden web sites, it is for building back office applications which administer the contents of the database which is used by the front office web site. A web site may allow visitors to browse your product catalog and place orders, but it is the back office application which is used to process those orders - stuff like order approval, picking from inventory, shipping, invoicing, inventory management, etc.

    Could you build an entire ERP application with your framework? I can (and have) with mine.

  3. #53
    SitePoint Evangelist
    Join Date
    Jun 2003
    Location
    Melbourne, Australia
    Posts
    440
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston View Post
    But what happens if I don't use Fowlers's book as my pattern bible?
    Then you shouldn't be surprised when they say "What you're describing sounds like the ... Pattern!"

    So they've read Fowler and you haven't. What's the problem?
    Zealotry is contingent upon 100 posts and addiction 200?

  4. #54
    Spirit Coder allspiritseve's Avatar
    Join Date
    Dec 2002
    Location
    Ann Arbor, MI (USA)
    Posts
    648
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston View Post
    But what happens if I don't use Fowlers's book as my pattern bible?
    Then you will probably have a harder time communicating with your peers. I'm not saying Fowler is the single authority on patterns, but I have found PoEAA incredibly useful as a baseline of communication among others on this forum.

    Quote Originally Posted by Tony Marston View Post
    But can you customise the screens? Add Role Based Access Control, Audit Logging and Workflow functionality? Can you add business rules? How about multi-lingual capabilities?
    I didn't meant to imply that your framework has the exact same feature set as PHPMyAdmin. My point was that rapid application development isn't the only merit on which you can judge a framework.

    Quote Originally Posted by Tony Marston View Post
    That is because Radicore is NOT for building common-or-garden web sites, it is for building back office applications which administer the contents of the database which is used by the front office web site. A web site may allow visitors to browse your product catalog and place orders, but it is the back office application which is used to process those orders - stuff like order approval, picking from inventory, shipping, invoicing, inventory management, etc.
    I completely understand-- RADICORE is built with a specific purpose. However, you come in here and argue that it is unequivocally reusable and flexble, but that argument hinges on the context. Most of us are looking at your code from the context of a web application framework a la Rails or Zend Framework. So you shouldn't be surprised when you get dissenting opinions about how reusable or flexible your code is.

  5. #55
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by allspiritseve View Post
    No, design patterns are not supposed to provide reusable code. Design patterns are more abstract than code.
    Then design patterns are TOO abstract for me. They are too wishy-washy, too airy-fairy, too much vapour-ware and not enough substance.

    Quote Originally Posted by allspiritseve View Post
    If you want to reuse your specific implementation, by all means, but there are many ways to implement a single pattern. You may not like one pattern or another, but you're probably implementing several of them already, whether you're aware of them or not.
    Just because you may see a pattern in my code AFTER it has been written does not mean that I had that particular pattern in mind BEFORE I wrote that piece of code. I do not write code around your preferred library of patterns, I simply design and write code without having to refer to any pattern books.

    Quote Originally Posted by allspiritseve View Post
    Any productivity gains would come from using common patterns instead of trying to discover them on your own. If you've got years of development experience you've probably discovered a good many already, but those of us who haven't been developing that long can still stand to benefit from the common solutions others have come across in the past.
    Any productivity gains from using design patterns would be extremely difficult to measure if there is no pre-written code that you can reuse. It is the difference between a "good" design and a "bad" design. We all know that a "good" design is better, but how do you measure "better"? We all know that structured code is better than unstructured code, but how do you measure "better"? We all know that a normalised database is better than an un-normalised database, but how do you measure "better"?

    People keep telling me that using design patterns is better than not using desgn patterns, but how do you measure "better"?

  6. #56
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by allspiritseve View Post
    I completely understand-- RADICORE is built with a specific purpose. However, you come in here and argue that it is unequivocally reusable and flexble, but that argument hinges on the context. Most of us are looking at your code from the context of a web application framework a la Rails or Zend Framework. So you shouldn't be surprised when you get dissenting opinions about how reusable or flexible your code is.
    My framework is flexible because it can be used to build ANY back office administrative application which uses a relational database. Anything which does not fall within this description (such as a web site) is therefore ineligible.

    I have built an entire ERP application using it. In the Radicore download there is a prototype application which deals with Classroom Scheduling, and another Survey application. I have heard other people argue that each type of application needs its own framework which has been tailored specifically for that application. I totally disagree. I use a general purpose framework which can be used with ANY application, and I have been writing such frameworks since 1985.

  7. #57
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,580
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    "Any back office administrative application" and "any application" are not the same thing. Rails/Zend/etc are "any application" frameworks.

  8. #58
    SitePoint Member
    Join Date
    Sep 2009
    Posts
    12
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would say, Tony made several valid points.

    Quote Originally Posted by allspiritseve View Post
    Then you will probably have a harder time communicating with your peers. I'm not saying Fowler is the single authority on patterns, but I have found PoEAA incredibly useful as a baseline of communication among others on this forum.
    That doesn't change the fact that the same design patterns often are referred to by several names. And a single design pattern quite often means different things to different people (especially if it's something generic, like MVC). Of course you can claim that your naming and understanding is the correct one, but even if it's true, it doesn't change the value of the patterns in communication.

    The amount of questions and back-and-forth discussions about patterns on this forum actually shows to me that they are not very useful in communication.

    I also agree that in many cases design patterns are simply "smart" names for rather obvious things. A normal programmer should not need to read a book about them to use them. (E.g. registry.)

  9. #59
    SitePoint Enthusiast
    Join Date
    Sep 2009
    Posts
    45
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I also agree that in many cases design patterns are simply "smart" names for rather obvious things. A normal programmer should not need to read a book about them to use them. (E.g. registry.)
    I think your definition of a normal programmer might be a bit high there. My observation of people in general is they are very keen on monkey see monkey do, developers are no different. I would like it if normal programmers were at the level you think without a few years experience, good reading, good peers and some degree of obsessive anal tendancies. Employers would like it as well so they could pay less to get quality.

    This debate has not been about patterns for a long time. Just what defines reusable code, damage caused by architecture astronauts etc... The word pattern is just being used as a rag doll to be tossed around in different areas of topic to prove some point.

  10. #60
    Spirit Coder allspiritseve's Avatar
    Join Date
    Dec 2002
    Location
    Ann Arbor, MI (USA)
    Posts
    648
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston View Post
    Then design patterns are TOO abstract for me. They are too wishy-washy, too airy-fairy, too much vapour-ware and not enough substance.
    That's fair. I find them to be the right amount of abstraction, as they give me some structure without forcing me into a specific implementation. Personal preference.

    Quote Originally Posted by Tony Marston View Post
    Just because you may see a pattern in my code AFTER it has been written does not mean that I had that particular pattern in mind BEFORE I wrote that piece of code.
    I don't think that matters-- the fact that they show up in your code shows the value. I think there's at least two ways of arriving at the best solution to a problem: trial and error though gradual refactoring (as you have done in your 25 years of development) or looking at the experts and learning from their mistakes. If I know 4 other developers who have been coding for 25 years, and all 5 of you have arrived at a common solution, I think it's fair to say that common solution has value. However, what is debatable is whether it is more advantageous to "learn from the greats" or learn from trial and error.

    Quote Originally Posted by Tony Marston View Post
    People keep telling me that using design patterns is better than not using design patterns, but how do you measure "better"?
    I'm not sure how to measure better-- it's probably different for every developer. I would argue that there is value in design patterns, but I have no way of proving that everyone can benefit from using them (and it's probably *not* something everyone can benefit from).

    Quote Originally Posted by Gambler Z
    That doesn't change the fact that the same design patterns often are referred to by several names.
    Well, sure. However, I think if there were no Gang of Four, Fowler, etc. books, there would be even more names and it would be even more confusing. That is why I like PoEAA so much: it's a baseline of communication and allows me to have discussions with other people that are grounded in a standard.

  11. #61
    SitePoint Enthusiast
    Join Date
    Sep 2009
    Posts
    45
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well, sure. However, I think if there were no Gang of Four, Fowler, etc. books, there would be even more names and it would be even more confusing. That is why I like PoEAA so much: it's a baseline of communication and allows me to have discussions with other people that are grounded in a standard.
    You have to remember for some there is no grey, it has to be 100% right or it is 100% wrong.

    Impossible for some things so they must inherently be all wrong. Binary nature for the binary prose they write. Arguing the grey can never resolve anything as you will always be assumed that you are arguing the black, which just leads to pure frustration and combatativeness.

  12. #62
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by auricle View Post
    Then you shouldn't be surprised when they say "What you're describing sounds like the ... Pattern!"

    So they've read Fowler and you haven't. What's the problem?
    The problem is that too many people complain that I don't user THEIR favourite patterns in exactly the same way that they do. I don't talk about patterns in the same way as they do, and I don't plan my use of patterns in advance as they do.

    It is the same with my approach to OOP - "You are different, and difference is heresy!"

  13. #63
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dan Grossman View Post
    "Any back office administrative application" and "any application" are not the same thing. Rails/Zend/etc are "any application" frameworks.
    You try and build an entire back office ERP application in one of those frameworks and see how far it gets you. Does it have built-in RBAC, Audit Logging? Workflow? Data Dictionary? Transaction generation?

    You fail to realise that the needs of a "front office" website and "back office" application are entirely different, and the Radicore framework can out-perform ANY other framework when it comes to back office applications.

  14. #64
    simple tester McGruff's Avatar
    Join Date
    Sep 2003
    Location
    Glasgow
    Posts
    1,690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    One of the simplest and most ubiquitous design patterns is the lever. Levers are found everywhere. It would be rather silly to take up a position for or against them, or indeed any other design patterns. They just are. You can't avoid them. Patterns will appear in code whether you are aware of them or not. That's why they're called design patterns, common solutions which keep popping up time and time again. Like the lever.

    It's important to learn about patterns because this is a good way to start thinking about how objects work together. Pattern lingo is common in the programming world. You have to know what people are talking about when they mention Decorators, Observer, and so on. How could you not want to learn about common solutions to common problems? Could you call yourself an engineer if you didn't know what a rack and pinion gear is?

    Most patterns are well-known and well-defined. MVC causes a lot of confusion (I'd be tempted to put it on the forum banned words list) but I don't really think of it as a design pattern. Patterns describe the interactions between specific components (objects). MVC is more architectural, a broad-brush description of a way to organise an application into general logical themes (layers). M, V, and C will each break down into a series of tightly-focussed, co-operating objects.

    If someone writes bad code which misuses design patterns, it's just bad code. It doesn't mean patterns are bad. I'm rubbish at chess. Does that mean chess is rubbish? What an awful, unthinking attitude to have.

    Not knowing something isn't a crime. The level of knowledge isn't important: what matters is a willingness to learn. I don't see that in the original poster. Just a lot of baseless assertions, straw men, and strident repetition of "I'm right and you're all wrong". Tony Marston: you are one of the worst bullshitters I've ever met, anywhere. I sincerely hope you find another forum where your talents are appreciated.

  15. #65
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by McGruff View Post
    Patterns will appear in code whether you are aware of them or not.
    But there is a big difference between deliberately trying to implement a pattern and writing code which you discover afterwards looks like so-and-so pattern. A "pattern implementor" is not necessarily the same as a "solution implementor".

    Quote Originally Posted by McGruff View Post
    You have to know what people are talking about when they mention Decorators, Observer, and so on.
    Knowing the names of patterns is not good enough. Each pattern can have a myriad of different implementations, so what if a particular implementation is faulty? What if the wrong pattern was chosen in the first place?

    Quote Originally Posted by McGruff View Post
    How could you not want to learn about common solutions to common problems? Could you call yourself an engineer if you didn't know what a rack and pinion gear is?
    Bad analogy. A motor engineer is brought up with such terminology as they are components in a final product, whereas for a software engineer the components are language instructions such as FOR and WHILE.

    Quote Originally Posted by McGruff View Post
    Most patterns are well-known and well-defined.
    I disagree. Someone else has already said in this thread that design patterns are abstract concepts without any concrete implementations, and code reusability is not one of their aims. It is my opinion that there is very little of a reusable nature in design patterns at all, so I see no point in using them.

    Quote Originally Posted by McGruff View Post
    MVC causes a lot of confusion (I'd be tempted to put it on the forum banned words list) but I don't really think of it as a design pattern.
    So MVC is not a design pattern? Wash your mouth out!

    Quote Originally Posted by McGruff View Post
    If someone writes bad code which misuses design patterns, it's just bad code.
    I couldn't agree more. The biggest technical disaster of a project that I have ever worked on was where the system architects planned in advance which design patterns were to be used, and with a separate component for each pattern they ended up with a system which had 10 levels of component between the user and the database. It was a nightmare to build and test as the linkage between one level and the next was too fragile and kept breaking. It took them TWO MAN WEEKS to implement a simple transaction, something which I can now do in FIVE MINUTES with my own framework.

    This just proves (to me at least) that using design patterns does not guarantee success just as not using design patterns does not guarantee failure.

    Quote Originally Posted by McGruff View Post
    It doesn't mean patterns are bad. I'm rubbish at chess. Does that mean chess is rubbish? What an awful, unthinking attitude to have.
    I don't write java, but I'm not saying that nobody else should write java. So stop putting stupid words into my mouth. My argument is that I do not see any tangible benefits from using design pattens, and I do not see any tangible deficiencies in NOT using them. YMMV

    Quote Originally Posted by McGruff View Post
    Not knowing something isn't a crime.
    So I'm not a criminal then. That's good to know. I needn't expect a visit from the paradigm police, then?

    Quote Originally Posted by McGruff View Post
    The level of knowledge isn't important: what matters is a willingness to learn.
    I am only willing to learn something new if it provides tangible benefits. I see no such benefits from design patterns, so I do not use them.

    Quote Originally Posted by McGruff View Post
    I don't see that in the original poster. Just a lot of baseless assertions, straw men, and strident repetition of "I'm right and you're all wrong".
    They are not baseless assertions, they have been drawn from personal and direct experiences. I have never said that design patterns should NEVER be used - they may be OK for newbies, just like training wheels on a bicycle or painting by numbers kits, but experienced developers shouldn't need them any more.

    Quote Originally Posted by McGruff View Post
    Tony Marston: you are one of the worst bullshitters I've ever met, anywhere. I sincerely hope you find another forum where your talents are appreciated.
    So I take it your'e not a fan then?

  16. #66
    simple tester McGruff's Avatar
    Join Date
    Sep 2003
    Location
    Glasgow
    Posts
    1,690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston View Post
    But there is a big difference between deliberately trying to implement a pattern and writing code which you discover afterwards looks like so-and-so pattern.
    This is something you appear to be to be hung up on for some reason which I doubt would be interesting to pursue.

    There's nothing wrong with using a standard pattern if it's a good fit for the problem at hand. Being consciously aware that you are using a design pattern simply means that you have read some books. Implementing a design pattern without being aware of it means that you are less well-read.

    Not being well-read isn't necessarily a problem. We all start out knowing nothing and then, hopefully, try to learn as much as we can from the best sources that we can find as well as our own experiments. However, sneering at other people who have taken the trouble to learn about things which you patently do not understand is just time-wasting bullsh*t.

    Quote Originally Posted by Tony Marston View Post
    Each pattern can have a myriad of different implementations, so what if a particular implementation is faulty? What if the wrong pattern was chosen in the first place?
    As I said in my last post but you failed to comprehend, just because I might be bad at chess does not mean that chess is rubbish. Even if I don't understand it very well, I can still see that it's a very subtle and sophisticated game. Your problem is that everything which you fail to understand is deemed to be rubbish. You do not have a sophisticated understanding of object-oriented programming and so you fail to realise the significance of patterns. More bullsh*t.

    Quote Originally Posted by Tony Marston View Post
    I disagree. Someone else has already said in this thread that design patterns are abstract concepts without any concrete implementations, and code reusability is not one of their aims. It is my opinion that there is very little of a reusable nature in design patterns at all, so I see no point in using them.
    Let me get this straight. It has been explained to you that design patterns are not about about code re-use and yet you still choose to criticise them on these grounds. Bullsh*t.

    Quote Originally Posted by Tony Marston View Post
    So MVC is not a design pattern? Wash your mouth out!
    Call it an architectural pattern if you like.

    Nice turn of phrase though, along with others where you sneer at an imaginary clique of pattern-police. More bullsh*t. Your personal hang-ups really aren't very interesting to discuss. There isn't any real information being processed - just tedious rebuttals of your bigotry. A programmer isn't going to learn anything useful from this but, to be fair, it might be interesting to a psychologist.

    Quote Originally Posted by Tony Marston View Post
    It took them TWO MAN WEEKS to implement a simple transaction, something which I can now do in FIVE MINUTES with my own framework.
    That's got a real, pungent whiff of something... Can't quite put my finger on it...

    Quote Originally Posted by Tony Marston View Post
    This just proves (to me at least) that using design patterns does not guarantee success just as not using design patterns does not guarantee failure.
    Did anyone say it does? Quote a source or shut up.

    Quote Originally Posted by Tony Marston View Post
    My argument is that I do not see any tangible benefits from using design pattens, and I do not see any tangible deficiencies in NOT using them. YMMV
    I detect no argument just stubborn assertions and occasional sneers.

    Quote Originally Posted by Tony Marston View Post
    I am only willing to learn something new if it provides tangible benefits.
    No you're not willing to learn. You could though, if you wanted to. There are some very knowledgeable programmers on this forum. However, you'd rather fire off salvoes of toxic opinion which alienate everyone who might otherwise have been delighted to help you. That's kind of sad - as well as bullsh*t, of course.

    Quote Originally Posted by Tony Marston View Post
    So I take it your'e not a fan then?
    Not really but I console myself with the thought that, in times of economic recession such as these, it is surprisingly inexpensive to have someone killed.

  17. #67
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,580
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    This thread has taken a turn for the worse so I'm closing it. If anyone wants to continue discussing design patterns, feel free to start a new thread, but leave the personal attacks and self-promotion out of it. Neither is acceptable behavior here.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •