Folgende Warnungen sind aufgetreten:
Warning [2] unserialize(): Error at offset 2711 of 2829 bytes - Line: 2627 - File: inc/functions.php PHP 8.3.6 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
[PHP] errorHandler->error_callback
/inc/functions.php 2627 unserialize
/inc/class_datacache.php 138 native_unserialize
/inc/init.php 182 datacache->cache
/global.php 20 require_once
/showthread.php 28 require_once
Warning [2] unserialize(): Error at offset 1195 of 1968 bytes - Line: 2627 - File: inc/functions.php PHP 8.3.6 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
[PHP] errorHandler->error_callback
/inc/functions.php 2627 unserialize
/inc/class_datacache.php 138 native_unserialize
/inc/init.php 182 datacache->cache
/global.php 20 require_once
/showthread.php 28 require_once




Themabewertung:
  • 1 Bewertung(en) - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Programmieren Projekt-Ideen
#19
Ja, das meinte ich, habs nur etwas kürzer geschrieben.

Und wenn du nicht gerne mit Methoden schreibst, solltest du dir eine Sprache suchen, die nicht objektorientiert ist oder eine Scriptsprache.^^

Ohne Methoden macht die ganze Sprache gar keinen Sinn.
Außerdem, wenn du das alles mit einer umfangreichen Klassen-Struktur auch richtig machst, kannst du sie sehr leicht erweitern und in anderen Programmen gut weiter verwenden.

Das ist ja der große Vorteil^^

Hier eine Grundstruktur, wie ich das Programm aufbauen würde:

Code:
namespace Formulas
{
    public interface IFormula
    {
        IFormula Parse(string Formula);
        bool TryParse(string Formula, out IFormula FormulaResult);
        double[] CalculateZeroPoints();
        double CalculateX(double Y);
        double CalculateY(double X);
    }

    public class LinearEquation : IFormula
    {
        public const string FormatFormula = "Y=mX+n";
        public double M_Value { get; private set; }
        public double N_Value { get; private set; }

        public virtual IFormula Parse(string Formula)
        {
            // To do
        }

        public virtual bool TryParse(string Formula, out IFormula FormulaResult)
        {
            // To do
        }

        public virtual double[] CalculateZeroPoints()
        {
            // To do
        }

        public virtual double CalculateX(double Y)
        {
            // To do
        }

        public virtual double CalculateY(double X)
        {
            // To do
        }
    }

    public class QuadraticFormula : IFormula
    {
        public const string FormatFormula = "Y=aX²+bX+c";
        public double A_Value { get; private set; }
        public double B_Value { get; private set; }
        public double C_Value { get; private set; }


        public virtual IFormula Parse(string Formula)
        {
            // To do
        }

        public virtual bool TryParse(string Formula, out IFormula FormulaResult)
        {
            // To do
        }

        public virtual double[] CalculateZeroPoints()
        {
            // To do
        }

        public virtual double CalculateX(double Y)
        {
            // To do
        }

        public virtual double CalculateY(double X)
        {
            // To do
        }
    }
}


Das lässt sich beliebig erweitern und würde am Programm, dass die Arbeit dann bietet, nicht im geringsten stören. Man müsste nur noch anbieten, dass der Text auch in die richtige Klasse gegeben wird und das lässt sich dann ja ganz billig mit switch machen.
Das ist der größte Vorteil der objektorientierten Programmierung, denn das Programm kann dann später schön mit den Variablen von Typ IFormula arbeiten, ausgeführt werden dann aber jeweils die passenden Methoden.

Also die Kriterien eines guten Programmes:
- gute Erweiterbarkeit -> Ja
- gute Wartbarkeit -> Ja
- gute Ãœbersichtlichkeit -> Ja
und mehr fallen mir nicht ein^^


Edit:
Ich denke, ich lasse doch das Interface weg und setze stattdessen eine abstrakte Klasse. Dann kann ich auch eine wichtige statische Methode bieten, die dafür sorgen würde, dass überhaupt keine Änderungen im eigentlichen Programm nötig sind.
Werd das schnell fertig machen und den Code dann ändern
Pessimisten sind realistisch.
Optimisten sind glücklich.

Programmieren ist einfach, jeder kann es lernen.
Doch gut programmieren, das ist die Kunst.
Zitieren


Nachrichten in diesem Thema
Programmieren Projekt-Ideen - von Palladin007 - 03.06.2012, 20:42
RE: Programmieren Projekt-Ideen - von Putschy - 03.06.2012, 20:59
RE: Programmieren Projekt-Ideen - von era - 03.06.2012, 22:00
RE: Programmieren Projekt-Ideen - von Putschy - 07.06.2012, 19:32
RE: Programmieren Projekt-Ideen - von era - 07.06.2012, 20:47
RE: Programmieren Projekt-Ideen - von Putschy - 07.06.2012, 20:55
RE: Programmieren Projekt-Ideen - von Putschy - 07.06.2012, 21:01
RE: Programmieren Projekt-Ideen - von Palladin007 - 13.06.2012, 20:03

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste