Click here to Skip to main content
15,887,812 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
See more:
Hello Every one,

This is Mustafa.I am New to C++ programming language i am interested in making an basic project which includes design patterns and some basic functionalities, Like login and form fillup.


Thank you in advance.
Posted
Comments
Sergey Alexandrovich Kryukov 29-Jan-16 17:54pm    
Please, this is a bad way to do programming or learn it. 1) the idea of the project should come from you, not from others, not even from your teacher, unless this is a miner exercises or test of your skills; from the other hand, the project can come from the problems of some team you work in; 2) implementation of some design pattern should never become a goal of a project; the goal should be the application, not technique; design patters are published to share some good designs to help you, it's not that your application should server the purpose of implementing some design pattern; you prioritize thing upside down.

So, many members could possibly formulate such project goals for you, but it would make too little sense to bother much, and it could hardly help you well.

—SA

1 solution

Please see my comment to the question. Your whole approach is not really productive. I suggest you change it.

  • At first, forget design patterns. Focus on your application goals. First of all, plan what you want to achieve. Depict you minimal set of goals and some program-maximum (super-objective).

    It's really hard to suggest the idea of the project, because I know nothing of your background and skills, but I can give you some ideas on how to generate such ideas. Please see my past answers and one my blog post:
    Sergey Alexandrovich Kryukov — Professional Profile — CodeProject[^],
    Help Me to Choose A Better Final year Project[^],
    Please suggest a good concept for my .NET project ?[^],
    JAVA final year projects[^],
    Need Project Ideas Help me Plz[^],
    Can you suggest a topic for my Senior Project? Programming[^],
    Why the hell it is so hard to become programmer?[^],
    One Challenge in WPF Programing[^].
  • Try to formulate and organize your requirements, right them down. Your work will be easier if you well define this part, as strictly as possible; at the same time, remember that you will need to go back to this stage again and again. Development has to be iterative.
  • Now, it's time to think of the programming techniques you would need to develop. If it reminds you about design pattern, forget them again. Focus on the behavior of your application. Try to depict some major detail of its behavior. In some cases, you would need to design a basic state machine, in others it would be some workflows, and so on.
  • Based on that, try to design the basic skeleton of your code and its basic structure. Remember that such detail as what should go in which file or class can easily be changed, so pay more attention for functional properties of your code. If at this time you remember about design patterns, forget them again.
  • Try to solve major technical problems which should solve your application problems, major algorithms. Try to think with your own brain. Forget design patterns again.
  • After you get well into the design, faced first difficulties and clearly analyzed the nature of those difficulties, you can ask a question: what other developers did to overcome similar design difficulties? And here is the time to remember about existing well-known design patterns. This time, reading on that patterns should be easier, because you are already familiar with the difficulties, so you can better understand what you read.
  • If you find some solutions based on design patterns which should improve your design, use them. Always remember that using those design patterns is not your obligation. They are supposed to help you, not that you are supposed to be responsible for pleasing patterns' authors. :-) Feel free to modify, improve or simplify them, if such modification make them adhere better to your application goals.
  • Create some prototypes, "working skeleton", and so on. Follow the usual software development stages, implementation, unit testing, and so on… Return to previous stages as needed, iterate…


See also my past answer: Social Networking from scratch[^].

—SA
 
Share this answer
 
v11
Comments
Sascha Lefèvre 29-Jan-16 18:38pm    
+5
Sergey Alexandrovich Kryukov 29-Jan-16 18:51pm    
Thank you, Sascha.
—SA
Matt T Heffron 29-Jan-16 21:39pm    
+5
Sergey Alexandrovich Kryukov 29-Jan-16 22:11pm    
Thank you, Matt.
—SA
nv3 30-Jan-16 8:33am    
My 5, Sergey. I particularly like your comments about design patterns. This entire design pattern hype makes beginners often thing that design patterns were kind of a magic spells that have to followed word by word. They don't realize that basically everybody programs with design patterns, sometimes without knowing it.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900