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

    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
                                  • J Jeroen_R

                                    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 Offline
                                    D Offline
                                    Dale Lanz
                                    wrote on last edited by
                                    #34

                                    That's why I read Code Project, among other sites\newsletters, so I can stay up with technology. I had a supervisor who seemed perfectly content to just come in and do his job everyday. It's wasn't because it was hard, he just was more interested in other things.

                                    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.

                                      A Offline
                                      A Offline
                                      Andreas Mertens
                                      wrote on last edited by
                                      #35

                                      I have seen this issue in particular in unionized IT shops. One place I worked at, the IT employees (20+ years, coming from mainframe/COBAL development) had maxed out their company benefits, and had no further incentive to learn any new skills (such as web development, among other things). As an IT Professional/Contractor, it is critical for me to keep learning new technology skills as they become relevant. This is not unlike other professions, such as medicine, engineering, etc. As far as those "enterprisey" patterns, it might feel like overkill for smaller projects. But I have yet to work on a project for a client, where once it was finished they wanted a new set of features on it. By using these sorts of patterns, you keep the system flexible enough to add these new/updated features without having to do a major refactoring job first...

                                      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
                                        mbb01
                                        wrote on last edited by
                                        #36

                                        It is useful to be able to fully implement a feature. Every developer has their strengths and weaknesses. On larger projects, or projects that have a specialist component (e.g. a graphics engine, or an analytics engine) specialization may be inevitable. Specialization may also be desirable if you want to get the best possible solution in a given problem area. The key to remember is that developers have interfaces between them just as much as the components they work on. To manage those interfaces properly and to mitigate risks you will need good specifications, standards and procedures.

                                        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