Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. About Entreprisey patterns...

About Entreprisey patterns...

Scheduled Pinned Locked Moved The Lounge
csharparchitecturehtmlasp-netsharepoint
36 Posts 19 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    Jeroen_R wrote:

    Also: a lot of developers don't want to work vertically

    I once met a "C# expert" who would replace me at my old job. He refused to do anything but C# as that was his "expertise". He was so experienced that disposing wasn't necessary because the garbage collector handled that for him :laugh: When asked if he could look at a SQL issue he simply refused. This was an expensive contractor and we were a small company. He was cocky too, calling my code bad and me a "little man" (which is an insult). First fix he made crashed production though, he "optimized" my code because a 20 line function was too big to his tastes. Got me to stay in late and fix his code (once I found the problem I simply reverted to the previous revision) :sigh: Since then, whenever someone calls himself "expert" and refuses to work on anything else I punch them in the face :)

    Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

    Regards, Sander

    S Offline
    S Offline
    Slacker007
    wrote on last edited by
    #14

    A person's actions should always weigh more than their words.

    Sander Rossel wrote:

    I punch them in the face

    Somehow, I don't believe this. Just saying. :thumbsup:

    Sander RosselS 1 Reply Last reply
    0
    • D den2k88

      I usually warn if something is outside my main area of expertise but stop against nothing. In 4 years I did VB6, C++, Assembler, C# and C++\CLI. If soemone asks me C# things I clearly state that I have very little experience in C#, especially good C# (nobody uses it where I work and we have no code base in C#). Then I start working on it.

      GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #15

      Yeah, I do that too. "Sure, I can have a look at it, but it's all new to me. So if it's in a hurry..." something like that :) But just saying "no, I don't do that." is a no-no. I'm not sure how the guy I just mentioned could've put his incapability into words though, we'd have to invent some new words :laugh:

      Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

      Regards, Sander

      1 Reply Last reply
      0
      • S Slacker007

        A person's actions should always weigh more than their words.

        Sander Rossel wrote:

        I punch them in the face

        Somehow, I don't believe this. Just saying. :thumbsup:

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #16

        I completely agree with you *punches you in the face* :D Alright, I don't really punch people in the face, but not because I don't want too.

        Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

        Regards, Sander

        1 Reply Last reply
        0
        • S Super Lloyd

          I was having some deep thinking about what I call, disdainfully, "enterprise architecture", those bloated multi layerssss (the more the merrier) monsters... When it suddenly hit me how it might make sense in some environment. And I am looking for feedback on my conclusions. First I came from the point of view of an experienced developer who has mostly worked in small teams and I personally find that a vertical approach to development gives better results. i.e. When one is in charge of a feature, one does the SQL, the data exchange class, the webservice, service proxy and the UI and/or whatever else is needed for the feature to be fully functional. If one don't know how to solve a particular problem, ask a colleague! And as for code reuse, regular chat with your colleagues make sure every body use some common utility (or even business utility) library whenever possible. I think it gives better overall results. But now, for an other point of view, if I imagine an environment with high turn over and lots of graduate who don't know very well how to do SQL, HTMl/MVC, WPF, WCF/WebAPI, etc... Nor do they talk to the customer and understand the feature they are working on very well... It might seem like a good idea to have a GUI team, a SQL team, a Business layer team that each focus on one technology and one layer. Hence the layer monster comes to life with some reason to be such. Not that I agree on the long term benefit of that approach. But it kind of makes sense in that light. Am I on track here, as to why enterprise architecture is so wide spread?

          A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

          T Offline
          T Offline
          Tim Carmichael
          wrote on last edited by
          #17

          I am currently involved in a large scale application - creating a reporting warehouse environment for a segment of our organization. The end result will be that ALL of the data needed for reporting will be available in SQL Server databases. Since I'm not working on the DB part, I can't comment on the number of databases or their complexity. What I do like about the project is this: I have my section I am responsible for: get data from the system I work on into 10 minutes buckets and exception buckets. That's it... I do my part and my part only. I will provide the general structure of the SQL statements needed to pull the data, but I am not responsible for the implementation of that. So, can it work? Yes, if management provides a reasonable time frame and assigns resources to attend to it.

          M 1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            Over the years I've learned the following enterprise patterns: The postpone pattern: useful when decisions need to be made. The we-will-get-back-to-you pattern: useful for when they don't want to get back to you. The clueless pattern: very widely adopted in the enterprise! The outdated pattern: because keeping up-to-date with technology requires decisions and a fraction of the money it costs in the long run to not update. The XML pattern: because deep down XML is the only technology that's really enterprise ready. XML everywhere. XML 4 teh win! The save-pennies pattern: the other patterns cost millions, but when you're an hour over budget they'll have your head in a meeting (which costs even more). The meetings-meetings-meetings pattern: to discuss the issues that arise because of the other patterns (only discuss, never solve though!). :sigh:

            Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

            Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

            Regards, Sander

            S Offline
            S Offline
            Super Lloyd
            wrote on last edited by
            #18

            XML pattern! yeah! ^_^

            A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

            1 Reply Last reply
            0
            • S Super Lloyd

              I was having some deep thinking about what I call, disdainfully, "enterprise architecture", those bloated multi layerssss (the more the merrier) monsters... When it suddenly hit me how it might make sense in some environment. And I am looking for feedback on my conclusions. First I came from the point of view of an experienced developer who has mostly worked in small teams and I personally find that a vertical approach to development gives better results. i.e. When one is in charge of a feature, one does the SQL, the data exchange class, the webservice, service proxy and the UI and/or whatever else is needed for the feature to be fully functional. If one don't know how to solve a particular problem, ask a colleague! And as for code reuse, regular chat with your colleagues make sure every body use some common utility (or even business utility) library whenever possible. I think it gives better overall results. But now, for an other point of view, if I imagine an environment with high turn over and lots of graduate who don't know very well how to do SQL, HTMl/MVC, WPF, WCF/WebAPI, etc... Nor do they talk to the customer and understand the feature they are working on very well... It might seem like a good idea to have a GUI team, a SQL team, a Business layer team that each focus on one technology and one layer. Hence the layer monster comes to life with some reason to be such. Not that I agree on the long term benefit of that approach. But it kind of makes sense in that light. Am I on track here, as to why enterprise architecture is so wide spread?

              A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

              M Offline
              M Offline
              Mycroft Holmes
              wrote on last edited by
              #19

              The bank I work for is just starting the reverse engineering of a major rule based engine, definitely enterprisy! Thankfully I won't be coding in the project as there are a whole plethora of technologies being chucked into the mix. Data storage is Hadoop with a couple or 4 management packages/applications then MariaDb with another couple of apps to manage that. UI in Java, service layer in TibCo each with another couple of apps/packages to help manage them. I've probably missed a couple. To say I'm horrified is an understatement but it seems to be the way enterprisey architecture is put together. :sigh: I probably won't be around to see the outcome but I don't think it will be good.

              Never underestimate the power of human stupidity RAH

              S 1 Reply Last reply
              0
              • M Mycroft Holmes

                The bank I work for is just starting the reverse engineering of a major rule based engine, definitely enterprisy! Thankfully I won't be coding in the project as there are a whole plethora of technologies being chucked into the mix. Data storage is Hadoop with a couple or 4 management packages/applications then MariaDb with another couple of apps to manage that. UI in Java, service layer in TibCo each with another couple of apps/packages to help manage them. I've probably missed a couple. To say I'm horrified is an understatement but it seems to be the way enterprisey architecture is put together. :sigh: I probably won't be around to see the outcome but I don't think it will be good.

                Never underestimate the power of human stupidity RAH

                S Offline
                S Offline
                Super Lloyd
                wrote on last edited by
                #20

                Mycroft Holmes wrote:

                I've probably missed a couple. To say I'm horrified is an understatement but it seems to be the way enterprisey architecture is put together. :sigh: I probably won't be around to see the outcome but I don't think it will be good.

                Haha! :)

                A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  Over the years I've learned the following enterprise patterns: The postpone pattern: useful when decisions need to be made. The we-will-get-back-to-you pattern: useful for when they don't want to get back to you. The clueless pattern: very widely adopted in the enterprise! The outdated pattern: because keeping up-to-date with technology requires decisions and a fraction of the money it costs in the long run to not update. The XML pattern: because deep down XML is the only technology that's really enterprise ready. XML everywhere. XML 4 teh win! The save-pennies pattern: the other patterns cost millions, but when you're an hour over budget they'll have your head in a meeting (which costs even more). The meetings-meetings-meetings pattern: to discuss the issues that arise because of the other patterns (only discuss, never solve though!). :sigh:

                  Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

                  F Offline
                  F Offline
                  Foothill
                  wrote on last edited by
                  #21

                  You left out the hurry-up-and-wait pattern: your boss presses you really hard to get things in a test-ready state in two weeks only to find that the test team can't get to it for another two weeks :doh:

                  if (Object.DividedByZero == true) { Universe.Implode(); } Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016

                  1 Reply Last reply
                  0
                  • S Super Lloyd

                    I was having some deep thinking about what I call, disdainfully, "enterprise architecture", those bloated multi layerssss (the more the merrier) monsters... When it suddenly hit me how it might make sense in some environment. And I am looking for feedback on my conclusions. First I came from the point of view of an experienced developer who has mostly worked in small teams and I personally find that a vertical approach to development gives better results. i.e. When one is in charge of a feature, one does the SQL, the data exchange class, the webservice, service proxy and the UI and/or whatever else is needed for the feature to be fully functional. If one don't know how to solve a particular problem, ask a colleague! And as for code reuse, regular chat with your colleagues make sure every body use some common utility (or even business utility) library whenever possible. I think it gives better overall results. But now, for an other point of view, if I imagine an environment with high turn over and lots of graduate who don't know very well how to do SQL, HTMl/MVC, WPF, WCF/WebAPI, etc... Nor do they talk to the customer and understand the feature they are working on very well... It might seem like a good idea to have a GUI team, a SQL team, a Business layer team that each focus on one technology and one layer. Hence the layer monster comes to life with some reason to be such. Not that I agree on the long term benefit of that approach. But it kind of makes sense in that light. Am I on track here, as to why enterprise architecture is so wide spread?

                    A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                    S Offline
                    S Offline
                    Sumuj John
                    wrote on last edited by
                    #22

                    The user requirement by it leads/forces you to have enterprisey architecture. You might see a repetition from project to projects so at the end some modules goes to services other goes to library and so on and so forth.

                    1 Reply Last reply
                    0
                    • S Super Lloyd

                      Jeroen_R wrote:

                      Also: a lot of developers don't want to work vertically.

                      Really?! :omg:

                      A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                      J Offline
                      J Offline
                      JohnLBevan
                      wrote on last edited by
                      #23

                      There's that famous saying: "Coding's more fun when your horizontal"... something like that anyway.

                      1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        Jeroen_R wrote:

                        Also: a lot of developers don't want to work vertically

                        I once met a "C# expert" who would replace me at my old job. He refused to do anything but C# as that was his "expertise". He was so experienced that disposing wasn't necessary because the garbage collector handled that for him :laugh: When asked if he could look at a SQL issue he simply refused. This was an expensive contractor and we were a small company. He was cocky too, calling my code bad and me a "little man" (which is an insult). First fix he made crashed production though, he "optimized" my code because a 20 line function was too big to his tastes. Got me to stay in late and fix his code (once I found the problem I simply reverted to the previous revision) :sigh: Since then, whenever someone calls himself "expert" and refuses to work on anything else I punch them in the face :)

                        Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                        Regards, Sander

                        H Offline
                        H Offline
                        Herbie Mountjoy
                        wrote on last edited by
                        #24

                        I think I met this guy... We are talking building blocks or black boxes which can be plugged into each other once they have been made to do their individual function. It makes sense for rapid development but, as you say, no one gets to see the full picture.

                        We're philosophical about power outages here. A.C. come, A.C. go.

                        1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          Over the years I've learned the following enterprise patterns: The postpone pattern: useful when decisions need to be made. The we-will-get-back-to-you pattern: useful for when they don't want to get back to you. The clueless pattern: very widely adopted in the enterprise! The outdated pattern: because keeping up-to-date with technology requires decisions and a fraction of the money it costs in the long run to not update. The XML pattern: because deep down XML is the only technology that's really enterprise ready. XML everywhere. XML 4 teh win! The save-pennies pattern: the other patterns cost millions, but when you're an hour over budget they'll have your head in a meeting (which costs even more). The meetings-meetings-meetings pattern: to discuss the issues that arise because of the other patterns (only discuss, never solve though!). :sigh:

                          Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                          Regards, Sander

                          S Offline
                          S Offline
                          Steve Naidamast
                          wrote on last edited by
                          #25

                          You forgot one... "The Stupid Manager" pattern, where if they can place an incompetent in charge of a project, they will...

                          Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                          S 1 Reply Last reply
                          0
                          • D den2k88

                            I usually warn if something is outside my main area of expertise but stop against nothing. In 4 years I did VB6, C++, Assembler, C# and C++\CLI. If soemone asks me C# things I clearly state that I have very little experience in C#, especially good C# (nobody uses it where I work and we have no code base in C#). Then I start working on it.

                            GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani

                            S Offline
                            S Offline
                            Super Lloyd
                            wrote on last edited by
                            #26

                            No C#? poor you... Anyhow I am not too worry, you seemed to have fun too! :D

                            A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                            D 1 Reply Last reply
                            0
                            • S Steve Naidamast

                              You forgot one... "The Stupid Manager" pattern, where if they can place an incompetent in charge of a project, they will...

                              Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                              S Offline
                              S Offline
                              Super Lloyd
                              wrote on last edited by
                              #27

                              Another great pattern! It even has a name! Peter principle - Wikipedia, the free encyclopedia[^]

                              A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                              Sander RosselS 1 Reply Last reply
                              0
                              • T Tim Carmichael

                                I am currently involved in a large scale application - creating a reporting warehouse environment for a segment of our organization. The end result will be that ALL of the data needed for reporting will be available in SQL Server databases. Since I'm not working on the DB part, I can't comment on the number of databases or their complexity. What I do like about the project is this: I have my section I am responsible for: get data from the system I work on into 10 minutes buckets and exception buckets. That's it... I do my part and my part only. I will provide the general structure of the SQL statements needed to pull the data, but I am not responsible for the implementation of that. So, can it work? Yes, if management provides a reasonable time frame and assigns resources to attend to it.

                                M Offline
                                M Offline
                                Middle Manager
                                wrote on last edited by
                                #28

                                Truly no offense meant but as a "full stack" developer that sounds like hell to me. I left my last career because it became like that - a largely restricted sense of creativity and license in my daily activity. It does sound a bit like a "9 to 5" punch in, punch out mentality - which I'll admit can have its upsides.

                                T 1 Reply Last reply
                                0
                                • S Super Lloyd

                                  No C#? poor you... Anyhow I am not too worry, you seemed to have fun too! :D

                                  A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                                  D Offline
                                  D Offline
                                  den2k88
                                  wrote on last edited by
                                  #29

                                  Embedded real time systems need performances, to the point that I (being the only Assembler speaking member in the office) sometimes spend weeks optimizing highly used features like rotations, color change vectors appliacations, integer differentiations and so on. Also it all started in QBASIC some 25 years ago, ported in VB6 and C. The total codebase is estimated in the millions of line of code and we still have to support some old Win2k system. Our developement workstations are painfully slow and rigged with 80 GB HDD and a whopping 1 GB of RAM... In short there are only reason to NOT migrate to .NET. We will move the graphic interface only to C# and maybe WPF but first we need to move the core elaborations and part of the hardware management away from the interface (bad design, legacy design, PITA to change). Also all those modifications will work for the future, meaning we will have to support our current branches (over 300) for 10-15 years at the very least.

                                  GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani

                                  1 Reply Last reply
                                  0
                                  • M Middle Manager

                                    Truly no offense meant but as a "full stack" developer that sounds like hell to me. I left my last career because it became like that - a largely restricted sense of creativity and license in my daily activity. It does sound a bit like a "9 to 5" punch in, punch out mentality - which I'll admit can have its upsides.

                                    T Offline
                                    T Offline
                                    Tim Carmichael
                                    wrote on last edited by
                                    #30

                                    No offense taken... I have been a 'full stack' developer, but for this project, no thank you. The project will take upwards of a year to fully implement and I am busy enough with just my portion of it. For smaller items, I still function in 'full stack' mode - but within my realm of influence. I don't miss being the de facto DBA and have no desire to go back to that environment. My day tends to be 7:00 to 3:30 or 4:00 or 5:00 depending on meetings, conference calls, remote support, etc... but I am at the point in my career where I've done the on-call 24x365 and don't miss that either.

                                    1 Reply Last reply
                                    0
                                    • J Jeroen_R

                                      Yes. Sad, but true. IME, it's mainly employee developers who stop learning and just come in from 9 to 5 that become like this, though.

                                      D Offline
                                      D Offline
                                      Dale Lanz
                                      wrote on last edited by
                                      #31

                                      You mean those of us who have kids and a life outside of coding?

                                      J 1 Reply Last reply
                                      0
                                      • S Super Lloyd

                                        Another great pattern! It even has a name! Peter principle - Wikipedia, the free encyclopedia[^]

                                        A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                                        Sander RosselS Offline
                                        Sander RosselS Offline
                                        Sander Rossel
                                        wrote on last edited by
                                        #32

                                        Or Dilbert principle[^], which is a slightly different take on the Peter Principle :D

                                        Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                                        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                                        Regards, Sander

                                        1 Reply Last reply
                                        0
                                        • D Dale Lanz

                                          You mean those of us who have kids and a life outside of coding?

                                          J Offline
                                          J Offline
                                          Jeroen_R
                                          wrote on last edited by
                                          #33

                                          Yes, that is indeed the reason I hear a lot. Note: I have 2 kids, a wife, hobbies and I still find the time to stay more-or-less up to date with technology. It isn't that hard...

                                          D 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups