如何识别软件设计问题? [英] How to identify the software design problem ?

查看:81
本文介绍了如何识别软件设计问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨先生,

在本网站的ASP.net设计模式教程中,写的是:



首先,确定软件设计问题,然后看看如何使用设计模式解决这些问题并找出最合适的设计问题来解决问题。





先生,请帮助我如何识别软件设计问题?请建议..

Hi Sir,
in the ASP.net design pattern tutorial in this site, it is written that:

"First, identify the software design problem, then see how to address these problems using design patterns and find out the best suited design problem to solve the problem."


Sir, Kindly help me How I can identify the software design problem? Please Suggest..

推荐答案

绝对没有任何食谱用于识别设计问题。也许除了一个:拿整个从头开始解决的问题,并试图勾勒出你可以发明的一些最好的设计。如果您的计划看起来比现有设计好得多,那么现有设计就存在缺陷。但要小心:由于不同的原因,很容易犯错误,例如:你不了解设计,低估了问题,等等。



Don'做出可能犯的更糟糕的错误:将有问题的设计与一些已知的设计模式进行比较。设计模式可能很有用,但不是为此目的。要记住的主要事项是:使用设计模式不是目标之一。是的,它们非常有用,但在现实生活中,我经常会看到相反的情况:它们会让没有经验的设计师分心,无法理解真正的发展目标。请记住:人们分享设计模式以帮助您完成项目,并不是说您的项目的目的是让设计模式的作者满意。



现在,有设计不良的许多间接迹象:重复使用不良,耦合强(与松散耦合相反),设计刚性的其他问题导致可维护性问题,以及更多。



我会说:为什么分析一些糟糕的设计?更好地创造一个好的。人们收集了很多关于糟糕设计的知识。这是我的想法:在您熟悉设计模式和设计之前,学习设计反模式 。学习它们,完全理解并尽量避免。



参见:

https://en.wikipedia.org/wiki/Anti-pattern#Software_design [ ^ ],

https://en.wikipedia .org / wiki / Loose_coupling [ ^ ](但不要只关注这方面,还有更多)。



-SA
There are absolutely no any cookbook recipes to be used to identify design problems. Perhaps except one: take the whole problem to be solved from scratch and try to sketch some best designs you can invent. If your plan looks much better than existing design, that existing design flawed. But be careful: it's easy to make a mistake due different reasons, such as: you did not understand that design, underestimated the problem, and so on.

Don't make the worse mistake one can probably make: compare design in question with some set of known design patterns. Design patterns can be useful, but not for this purpose. Main thing to remember is: using design patterns is not one of the goals. Yes, they can be very useful, but in real-life practice I more often see the opposite situation: they distract inexperienced designers from understanding the real development goals. Remember: people share design pattern to help you with you project, it's not that your project has the purpose of pleasing the author of a design pattern.

Now, there are many indirect signs of bad design: poor reuse, strong coupling (as opposed to loose coupling), other issues of design rigidity leading to problems of maintainability, and a lot more.

I would say: why analyzing some bad design? Better create a good one. People collected a lot of knowledge of bad design. Here is my idea: before you get familiar with design patterns and design in general, learn design anti-patterns. Learn them, understand perfectly and try to avoid.

See also:
https://en.wikipedia.org/wiki/Anti-pattern#Software_design[^],
https://en.wikipedia.org/wiki/Loose_coupling[^] (but don't focus on just this aspect, there are many more).

—SA


这是在这个网站的文章?如果是这样,最好的问题是在文章的底部,你可以添加评论。



然而,似乎是说你需要确定首先要解决的问题。例如,如果客户来找您,并说他们需要从仓库跟踪他们的货物,那么这就是您的问题,您首先要确定客户的问题或需求。
Was this on an article of this site? If so, the best place to ask is at the bottom of the article where you can add comments.

However, it seems to be saying that you need to identify the problem to be solved first. For example, if a customer comes to you and says they need to track their shipments from the warehouse then that is your problem and you start with identifying the customer's problem or need.


这篇关于如何识别软件设计问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆