通过示例规划编程项目(C# 或 C++)

发布于 2024-08-25 05:45:38 字数 527 浏览 8 评论 0原文

我是本科生的最后一年,我对我的大学中缺乏 C++ 和 C# 大型项目的示例感到困惑。所有的迷你项目和作业都是基于文本数据库,效率很低,控制台显示和命令,令人沮丧。

我想开发一个完整的企业软件原型,涉及库存、销售、营销等。您通常可以在 SAP 中找到的所有内容。如果你们中有人能指导我阅读书籍、文章或示例程序,我将不胜感激。

一些问题是:

  1. 如何规划​​此类编程?我应该使用 1 个对象(例如库存)的概念,拥有自己的流程和程序,并为所有程序设置一个集成商,还是应该将其集成到 1 个大程序中?

  2. 如何建立和寻址数据库?我对数据库知之甚少,我知道 SQL,但我以前从未在程序中处理过数据库。数据库就是表,如何以OOP方式表示表?

  3. 对于开发类型,PHP 和 C++ 或 C# 和 ASP.NET 哪个更好?我计划使用 Web 界面来设置表单和信息,但使用后台程序来处理计算。 .NET 非常集成,编码应该更快,但我真的想知道与 PHP 和 C++ 包相比的性能

谢谢您的信息

I am in the last year of undergraduate degree and i am stumped by the lack of example in c++ and c# large project in my university. All the mini project and assignment are based on text based database, which is so inefficient, and console display and command, which is frustrating.

I want to develop a complete prototype of corporate software which deals in Inventory, Sales, Marketing, etc. Everything you would usually find in SAP. I am grateful if any of you could direct me to a books or article or sample program.

Some of the question are :

  1. How to plan for this kind of programming? should i use the concept of 1 object(such as inventory) have its own process and program and have an integrator sit for all the program, or should i integrate it in 1 big program?

  2. How to build and address a database? i have little bit knowledge in database and i know SQL but i never address database in a program before. Database are table, and how do you suppose to represent a table in a OOP way?

  3. For development type, which is better PHP and C++ or C# and ASP.NET? I am planning to use Web Interface to set form and information, but using a background program to handle the compute. .NET is very much integrated and coding should be much faster, but i really wonder about performance if compared to PHP and C++ package

thank you for the info

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

携余温的黄昏 2024-09-01 05:45:38

这可能无法直接回答您的问题,但我认为这可能会以某种方式帮助您开始。所以这里是:我想说,“仔细思考过程”。这意味着,思考软件开发过程:

  • 收集需求
    • 识别并定义问题。
    • 获取尽可能多的信息/事实。 (打开绿灯,考虑一下您想要进入软件的所有内容)
    • 提出一个基线(打开红灯,您真正想要什么?您的软件“必须具备”的最低功能 - 没有就无法生存)
  • 分析
    • 知道你不知道什么,遗漏的事实是什么?
    • 评估您的信息或信息的缺乏/信息来源的可靠性。
    • 推断出您不知道的事实。
    • 形成假设、意见或可能的解决方案。
    • 考虑替代方案以及每个解决方案的影响。
    • 制定行动计划。
    • 确定技术的优缺点。
    • 决定技术
    • 提出功能规格。
  • 研究
    • 深入研究您想了解的内容(最佳数据库、ORM、设计实践、代码示例 - 收集所有内容,了解现有的库存系统)
  • 设计
  • 开发
  • 测试
    • 修复
  • 准备部署计划
  • 发布产品
  • 收集用户反馈
  • 分析用户反馈
  • 规划下一个版本中的项目。
  • 重复步骤

并享受!

This may not answer your question directly, but I thought this might help you get started in some way. So here it goes: I would say, "think through the process". This means, think through the software development process:

  • Gather requirements
    • Identify and define the problem.
    • Get as much information/facts as you can. (turn on green light, think about everything that you want to go into your software)
    • Come up with a baseline (turn on red lights, what you really want? the minimum functionality your software "must have" - cant live without)
  • Analyze
    • Know what you don’t know, what are the missing facts?
    • Evaluate your information or lack of it/reliability of information source.
    • Infer facts that you don’t know.
    • Form an assumption, opinion, or possible solutions.
    • Consider alternatives and implications of each solution.
    • Form an action plan.
    • Identify technology pros/cons.
    • Decide technology
    • Comeup with a functional specs.
  • Research
    • Dig into stuff that you would want to know (Best database, ORM, design practices, code samples - gather everything, read about inventory systems that are already there)
  • Design
  • Develop
  • Test
    • Fix
  • Prepare deployment plan
  • Release the product
  • Gather user feedback
  • Analyze user feedback
  • Plan for items in next release.
  • Repeat steps

And Enjoy!

惟欲睡 2024-09-01 05:45:38

在开始之前,这是对一个深刻问题的浅层回答。

1) 看来您对目标应用程序的主要组件有了合理的掌握。作为一名 .net 开发人员,我会构建与广泛的功能领域相匹配的程序集(不确定 PHP 中的等效项是什么),然后您可以将这些程序集作为单个大型应用程序一起使用,或者根据需要单独使用。你不太可能第一次就把它做好,所以按照感觉正确的方式构建它,然后在解决问题后进行一些无情的重构以使其变得更好。

2) 整个领域都被对象关系映射 - ORM 覆盖,NHibernate 是其中最好的.Net 世界。顺便说一句,如果您知道在毕业/工作时您将遥遥领先。原始sql 已经是过去十年的事了。我想您知道 Sql Server Express 是免费下载的吗?

3)对于开发,请选择您感觉最舒服的语言/环境。我更喜欢.net,并且集成编码要快得多。性能绝对足够好,特别是因为这是一个学习项目 - SO 在 .Net 上运行并且很好地支持了无数用户。

享受

Before I start this is a shallow answer to a deep question.

1) It looks like you have a reasonable grasp of the major components of your target application. As a .net developer I'd build assemblies that matched broad areas of functionality (not sure what the equivalent is in PHP) and then you can use those assemblies together as a single large app, or seperately as required. It's unlikely you'll get it right first time, so build it how it feels right, and then do some ruthless refactoring to make it better once you've got a handled on the problem.

2) This whole area is covered by Object Relational Mapping - ORM, NHibernate is the best of the bunch in the .Net world. BTW if you learn that you'll be way ahead of the game come graduation/work time. Raw sql is so last decade. I guess you know that Sql Server Express is a free download?

3) For development go with the languages/environment you feel most comfortable in. My preference is .net, and the integrated coding is much faster. Performance is definitely good enough, especially as this is learning project - SO runs on .Net and that supports a gazillion users pretty well.

Enjoy

旧伤慢歌 2024-09-01 05:45:38

我对类似 SAP 的项目没有任何好的建议,但一般来说,用于此类项目的最佳示例是成熟的开源项目。任何其他东西都将以某种方式成为“玩具”示例,并将被简化和清理。正是“清理”使其变得最不切实际——使现实世界的大型软件项目与大学示例不同的真正关键的事情之一是现实世界是混乱的,现实世界的需求是混乱的,并且项目之间的协作很多人的优先级不完全相同,这很混乱,而现实世界的软件项目必须适应这种混乱并在这种混乱中蓬勃发展。

不过,为了回答您的具体问题:

1.)以模块化方式做事。这意味着一旦完成第一个模块,您就可以测试和使用一些东西。当你学习时,这一点尤其重要,因为(a)你可能没有时间真正完成整个事情,(b)你会从写下你将来想要应用的第一部分中学到很多东西位,然后您可能想要重写第一位,并且 (c) 您将从使用第一位中学到更多信息。

2.)对此有很多观点,也有很多在线文章和书籍。我无法在此处的答案中回答这个问题(除了注意在某些情况下尝试以 OOP 方式表示它是错误的编程范例 - 请小心您提出的问题过度限制答案!);正确的答案是找到一些可以阅读的东西并花几天时间阅读它们。

3.) 您在这里不关心此类性能问题。成功的程序都是以这两种形式编写的。你关心什么能教给你最多,以及什么让你觉得工作起来很舒服。任何一个都应该没问题。您可能会发现更多关于 PHP 和 C++ 的开源文章。

I don't have any good recommendations for SAP-like projects in particular, but in general the best examples to use for things like this are well-established open-source projects. Anything else is going to be a "toy" example in one way or the other, and will be simplified and cleaned up. It's the "cleaned up" that makes it most unrealistic -- one of the really key things that makes real-world large software projects different from university examples is that the real world is messy, and real-world requirements are messy, and collaboration between lots of people with not quite the same priorities is messy, and real-world software projects have to adapt to and thrive in this messiness.

In answer to your specific questions, though:

1.) Do things in a modular way. This means you have something you can test and work with as soon as you get the first module done. That's especially important when you're learning, because (a) you probably won't have time to actually finish the whole thing, (b) you'll learn a lot from writing the first bit that you'll want to apply in future bits and then you'll probably want to rewrite the first bit, and (c) you'll learn even more from using the first bit.

2.) There are many views on this, and many online articles and books. I can't answer that in an answer here (except to note that in some cases trying to represent it in an OOP way is the wrong programming paradigm -- be careful about overconstraining the answer by the question you ask!); the right answer is to find things to read and spend some days reading them.

3.) You do not care about that sort of performance issue here. Successful programs have been written in both forms. You care about what will teach you the most, and what you are comfortable working with. Either one should be fine. You'll probably find more open-source pieces to look at with PHP and C++.

独闯女儿国 2024-09-01 05:45:38

您的问题几乎涵盖了项目规划的整个范围;可能会写出一整篇论文(+:

记住您的团队和教学人员希望从该项目中获得什么。1

)模块化是我的选择。它将迫使您一次处理一个模块的应用程序并让您集中注意力,但这取决于

  • 您的团队对该项目的首选/推荐语言的熟悉程度。
  • 手中的时间
    请记住,模块化意味着您也必须提供模块集成。

2) C++ 还是 C# ?哪个提供更多的学习经验。我自己对上述两种技术的经验有限,但我记得曾经有一个数据库模板库(DTL)。另一方面,C# 的开发速度可能会更快。我可能是错的。网络上有许多免费的 DBMS 引擎。除非作业明确建议使用文本,否则请选择其中之一。

3)我同意布鲁克斯的观点^^^

祝你好运!

Your question pretty much covers the whole gamut of planning for a project; a whole thesis might be written (+:

Keep in mind what your team and your teaching-staff want out of the project.

1) Modular is my choice. It'll force you to address the application one module at a time and keep you focussed, but that is subject to

  • The familiarity of your team with the preferred/recommended language for this project.
  • Time in hand
    Remember that modular means you will necessarily have to provide for module integration too.

2) C++ or C# ? Whichever offers the more learning experience. My own experience with both mentioned technologies is limited, but I remember there used to be a Database Template Library (DTL). C# on the other hand will probably be faster to develop. I could be wrong. There are any number of free DBMS engines available on the net. Unless the assignment explicitly recommends using a text, opt for one of these.

3) I concur w/Brooks up there ^^^

Good Luck!

如果没结果 2024-09-01 05:45:38

你是一名大学本科生。你说的是完整的库存系统。
我建议首先使用所有最佳实践(例如 blogengine)构建博客应用程序,然后转向电子商务网站(nopcommerce、dotcommerce)。然后做你喜欢做的事。
对于像您这样的本科生来说,这是一个常见问题,在不先构建任何简单项目的情况下跳得更高。

You are a university undergraduate. And you are talking about complete inventory system.
I suggest building a blog application first with all the best practices (like blogengine), then move to e-commerece sites (nopcommerce, dotcommerce). And then do whatever you like.
This is a common problem with undergrads like you, of jumping way higher without building any simple projects first.

纵山崖 2024-09-01 05:45:38

作为一名全职 PHP 开发人员,PHP 很糟糕! ASP.net 还可以(嗯……不,它也很糟糕),但它把你锁定在专有许可证中。

如果您是从头开始,请选择 Node.js。它是 C++ 和服务器端 JavaScript。是的,它是新的,但它具有工程前景。几年后这将变得更加普遍。

如果您担心性能,请不要担心。 V8 中的 Javascript 速度非常快。

http://shootout.alioth.debian.org/u32 /which-programming-languages-are-fastest.php

以下是一些可帮助您入门的 Node.js 链接:

http://www.delicious.com/homer6/nodejs

享受吧。

As a full time PHP developer, PHP sucks! ASP.net is okay (mmm... no it sucks too), but it locks you into proprietary licenses.

If you're starting from scratch, go for node.js. It's c++ and server-side javascript. Yes, it's new, but it has engineering promise. It'll be more commonplace in a few years.

And if you're worried about performance, don't. Javascript in V8 is extremely fast.

http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php

Here are some node.js links to get you started:

http://www.delicious.com/homer6/nodejs

Enjoy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文