Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 面向对象的spaghettio web体系结构_C#_Asp.net_Design Patterns_Architecture_Oop - Fatal编程技术网

C# 面向对象的spaghettio web体系结构

C# 面向对象的spaghettio web体系结构,c#,asp.net,design-patterns,architecture,oop,C#,Asp.net,Design Patterns,Architecture,Oop,我注意到,我在过去几年中开发的大多数企业web应用程序似乎都误用了oo的功能 也就是说,以前可能是1000行HTML和脚本,现在经常变成10000行代码、50个类和2000个方法调用来完成基本相同的事情。也就是说,oo和分层体系结构似乎被过度使用和/或不当使用,通常导致更长的开发时间、更高的成本,并且经常导致噩梦般的维护 其他人多久会看到这种情况发生一次 如何有效地利用oo,正如佛陀自己所说:尽可能不伤害…尽可能帮助 我一直在看这些:(基本上,如果人们要把事情搞得一团糟,他们会尝试使用或不使用

我注意到,我在过去几年中开发的大多数企业web应用程序似乎都误用了oo的功能

也就是说,以前可能是1000行HTML和脚本,现在经常变成10000行代码、50个类和2000个方法调用来完成基本相同的事情。也就是说,oo和分层体系结构似乎被过度使用和/或不当使用,通常导致更长的开发时间、更高的成本,并且经常导致噩梦般的维护

  • 其他人多久会看到这种情况发生一次

  • 如何有效地利用oo,正如佛陀自己所说:尽可能不伤害…尽可能帮助

我一直在看这些:(基本上,如果人们要把事情搞得一团糟,他们会尝试使用或不使用oo设计。这两种情况下都会变得同样糟糕

更新1:了解如何/什么将被重用是很重要的(但不要发疯,因为这会阻碍生产力),因为我们不希望得到大量的类,而这些类中的每一个都没有被重用,并实现大量不同的功能

基本上,主要问题是理解和关心正在构建的内容,因为您可以应用oo、tdd、ddd等,如果开发人员不理解他们在做什么,那么最终将陷入同样的混乱……或者最糟糕的情况:(

总之,这些东西确实有帮助,但它们不是魔法,它们不会取代开发人员创建可维护代码的技能

更新2:还要注意,清单或一些要点是不行的。我的意思是,我喜欢扎实的、大量的事情,我认为它们确实能把事情弄清楚,但它们通常对那些试图避免混乱的人产生最大的影响。

“通往地狱的道路是用最好的意图铺就的。”

我自己也没有遇到过这种情况,但我听到的所有故事似乎都是关于(花太多时间思考的人)或糟糕的开发人员(花太少时间思考的人)的问题

在编程的早期,由于硬件、语言等的限制,您没有看到太多这样的内容

然而,开发人员现在正试图通过尽可能多地合并设计模式和OO原则来编写人类可以理解的代码,以实现松散耦合和更高的可维护性,但就像一切都可能做得过头一样

另一方面,一些开发人员可能只是没有充分考虑他们试图解决的问题和编写额外的代码,只是因为它完成了任务,而没有考虑更大的问题

在这两种情况下,开发人员可能都不是恶意的,甚至不是无能的,他们希望为他们所从事的项目提供最好的服务,但他们仍然过分强调原则,仅仅是因为他们太努力了

所以我想说,解决方案是提醒开发人员使用OOP原则作为指导原则,但仅此而已。到了一定程度,你必须在思考和编程之间找到一个愉快的媒介,停止思考,开始编程


请看:杰夫写了一篇关于这类事情的好博文:。

好多了。仍然是主观的,但还不错。我不认为这和更详细的投票之间有什么区别——投票结束是完全重复的。两者都是以讨论为导向的,也许你可以在那里问后续问题,而不是开始一个新问题。我真的认为real的问题是,这些开发人员的代码使用OOP原则与否都是一团糟。这只是一个不同的一团糟:(…我也同意你的观点Freddy。糟糕的开发人员都是糟糕的开发人员,他们只是不知道如何使用工具。工具可以让事情变得更简单,但如果使用不当,也会造成伤害。编写好代码的一部分是想编写好代码,并对软件开发充满热情。