我使用哪种适当的Microsoft技术? [英] Which appropriate Microsoft technologies do I use?

查看:61
本文介绍了我使用哪种适当的Microsoft技术?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一些关于在基于网络的测试和考试网站编程中使用的最佳技术或组合的建议。

- 我应该完全使用ASP.NET网络表单吗?Silverlight会更好吗?还是我需要一些其他技术来构建更强大的网络应用程序。

- 如何如果网络接收不良,我会处理时间错误,因为问题会基于时间而我想避免问题的时间开始计算而没有显示或从服务器收到问题的情况。

- 在我开始编码之前,是否有任何架构或类图可以作为参考开始设计我的。

请就这些事情(以及以后可能出现的其他问题)向我提出建议这可能非常重要。非常感谢。

Hi, Please I need some advise on the best technology or combinations to use in programming a web based testing and exam site.
- Should i just use ASP.NET web forms entirely on will Silverlight be better or will I be needing some other technologies to build a more robust web app.
- How do I take care of time lapses in case of poor internet reception because questions will be time based and I want to avoid a situation where the time for a question starts counting without the question being displayed or received from the server yet.
- Is there any architecture or class diagramming I could use as a reference to start designing mine before I start coding.
Please advice me on these things (and other issues that may arise later) which may be of great importance. Thanks in anticipation.

推荐答案

按照给定问题的顺序回答:

  • 这个问题完全没有意义。这取决于您的目标,您必须实施的功能集以及许多其他因素,例如您拥有的资源甚至您自己的偏好。
  • 没有所述的问题。假设客户端发送HTTP请求以获取下一个问题,并在经过大量时间滞后后收到问题。它没有任何区别,因为你不必用这个时间间隔开始计算时间。相反,查询有问题的响应到达时的本地时间,然后发送回另一个HTTP请求,并确认收到问题,时间点。下一个HTTP请求将与答案和另一个时间点一起发送。在这两个时间点之间,没有互联网传输,并且两个点都在同一侧,客户端。当然,这样的时机可能会被欺骗,但一切都是公平的。我甚至不会考虑作弊的可能性,并考虑作弊模式作为要求;在我看来,这根本没有意义。



    一般来说,我想警告你:如果这是出于教育目的,任何时机都是错误的。定时考试只会损害教育过程,只会导致人们教育快速思考的白痴。我们已经有太多这样的人了。教育不是一项运动。关于所有这些多项选择题,我会说同样的话。他们已经破坏了全世界的教育。但我会理解你是为娱乐目的还是进行某种专业培训。
  • 最后一个问题尚不清楚。 架构和类图表如何相关?无论如何,如果你澄清这一部分,我会试着回答。



    如果你的意思只是将类图作为向你解释某些架构的方式,我不会说它很重要。至于一般的架构,问题是两个广泛讨论的问题。 架构永远不是预定义的东西。它不是从某些教科书,参考书或某些黄金建筑库中获取的。这是一个过程和活动领域,而不是知识单元。它可以学习,实践,完善等等。项目的体系结构是为项目开始初始阶段开发的。



    另一方面,有架构模式这对学习很有用。我通常的建议是:只有在你提出自己的建筑工件之后再做,这将有助于你更好地理解这些方法。特别是,我建议你学习和分析以下架构模式的适用性 http:/ /en.wikipedia.org/wiki/Architectural_pattern_(computer_science) [ ^ ]):

    MVVM - 模型视图模型,

    http://en.wikipedia.org/wiki/Model_View_ViewModel [ ^ ],

    MVC - 模型 - 视图 - 控制器,

    http://en.wikipedia.org/wiki/Model-view-controller [ ^ ]),

    MVA - 模型 - 视图 - 适配器,

    http://en.wikipedia.org/wiki/Model-view-adapter [ ^ ],

    MVP - Model-View-Presenter,

    http://en.wikipedia.org/wiki/Model-view-presenter [ ^ ]。



    注意这些架构的动机。如果您了解它,您将能够创建更好的设计理念。



    但首先,请记住,架构不是简化为模式,而是那些UI-相关模式并不反映架构的所有发展范围。更重要的是要理解遵循模式并不是开发的目标。模式由人们共享以促进项目开发,而不是相反。
Answering in the order of given questions:
  • This question makes no sense at all. It depends on your goals, feature set you have to implement, and many other factors, such as the resource you have and even your own preferences.
  • There is no such problem as stated. Let's say, the client side sends HTTP request to get next question, and receive the question after a huge time lag. It makes no difference, because you don't have to start count time withing this time interval. Instead, inquire local time when the response with question is arrived and then send back another HTTP request with the confirmation that the question is received, with the time point. Next HTTP request will be sent with the answer and another time point. Between these two time points, there is no internet transmissions, and both points are taken on the same side, client side. Of course, such timing could be spoofed, but everything is fair. I would not even consider the possibility of cheating and consider cheat-proof schema as a requirement; in my opinion, it makes no sense at all.

    In general, I would like to warn you: if this is done for educational purposes, any timing would be wrong. Timing some examinations can only damage educational process, it only leads to "educating" people into fast-thinking idiots. We already have too many people of that sort. Education is not a sport. I would say the same thing about all those multiple-choice questions. They already damaged education in the whole world. But I would understand if you do it for entertainment purposes or some kind of specialized training.
  • Last question is unclear. How "architecture" and "class diagramming" can be related? Anyway, if you clarify this part, I'll try to answer.

    If you mean just class diagram as the way of explaining some architecture to you, I would not say it can be important. As to the architecture in general, the question is two broad to discuss seriously. "Architecture" is never something predefined. It is not taken from some textbook, reference book or some golden architecture repository. This is a process and a field of activity, not the unit of knowledge. It can be learned, practiced, perfected and so on. The architecture of a project is developed for the project starting its inception phase.

    From the other hand, there are architectural patterns which can be useful to study. My usual advice is: do it only after you put forward your own architectural artifact, that will help you to better understand the approaches. In particular, I would suggest you learn and analyze applicability of the following architectural patterns (http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)[^]):
    MVVM — Model View View Model,
    http://en.wikipedia.org/wiki/Model_View_ViewModel[^],
    MVC — Model-View-Controller,
    http://en.wikipedia.org/wiki/Model-view-controller[^]),
    MVA — Model-View-Adapter,
    http://en.wikipedia.org/wiki/Model–view–adapter[^],
    MVP — Model-View-Presenter,
    http://en.wikipedia.org/wiki/Model-view-presenter[^].

    Pay attention for the motivation of those architectures. If you understand it, you would be able to create better design ideas.

    But first of all, remember that architecture is not reduced to the patters, and those UI-related patterns don't reflect all the scope of development of architecture. It's even more important to understand that following the patterns is not the goal of development. Patterns are shared by people to facilitate project development, not the other way around.


是的,这是陈词滥调:从头开始并完成每个一步直到它完成。



但是,这也是一个深刻的事实;但是,首先,你需要某种计划......找到起点的位置。你如何得到一个计划:



从做基础研究开始。搜索CodeProject和网络上的在线测试/考试软件,或软件,如幻灯片或向导,提供一系列的东西。



同时,着手概述软件必须具备的一系列功能;在研究您在网上找到的内容时,或通过查看其他程序的工作方式做笔记。用户界面的草图创意。



您需要考虑并计划软件的使用案例:想想规模:等内容许多用户同时(几个,一百,几千)。您需要规划您的在线应用程序如何保持或不保留数据:这会导致考虑安全性(用户,帐户,角色,组,密码等),以及数据库,数据库的类型,你需要使用。



您需要选择用于提供网站功能/设施的软件库,以及您将在何种程度上找到代码和资源服务器端与客户端资源。



为避免在信息和可能性方面不知所措,我建议您尽早开始创建一个简单的网站原型来模拟提交考试,并以交互方式回应模拟用户。



如果......你小心翼翼地,慢慢地接受它,那么旅程会很有趣。
Yes, it's a cliche to say: "start at the beginning and complete each step until it is finished."

But, that's also a profound truth; but, first, you need some kind of a plan ... to locate where the beginning is. How do you get a plan:

Start by doing basic research. Search CodeProject and the web for on-line testing/exam software, or software, like slide-show, or wizards, that present a sequence of something.

At the same time, work on outlining a set of features your software must have; make notes as you study what you find on the web, or by looking at how other programs work. Sketch ideas for the UI.

You will need to think about, and plan for, the use-cases of your software: think about things like "scale:" how many users at one time (a few, a hundred, several thousand). You will need to plan for how your on-line application does, or does not, persist data: that leads to consideration of security (users, accounts, roles, groups, passwords, etc.), and what database, what type of database, you need to use.

You will need to choose software libraries to use to give your web-site functionality/facilities, and to what extent you will locate code and resources server-side vs. client-side.

To avoid getting overwhelmed in information and possibilities, I suggest you start early to create a simple web-site prototype to simulate presenting exams, and responding interactively to a "mock" user.

The journey can be fun if ... you take it carefully, and slowly.


这篇关于我使用哪种适当的Microsoft技术?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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