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

    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