Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXVII): Arbeiten mit Handelsanfragen - platzieren von Pending-Orders" - Seite 4

 
Artyom Trishkin:

Warum werden sie einmal pro Sekunde verschickt? Um den Handelsserver zu überfluten?

Es handelt sich um ein bedingtes Intervall zwischen den Wiederholungen der Anfragen. Es ist konfigurierbar.
 
Artyom Trishkin:

Und ich brauche vollwertige Objekte, um das zu realisieren, was ich weiter geplant habe. Aber das ist Ihnen noch nicht bewusst, und Sie versuchen, für die weitere Arbeit unwirksame Lösungswege für einen kleinen Teil der Aufgabe anzubieten. Aber hier ist alles miteinander verbunden, und das allgemeine Konzept ist dasselbe - die anderen Dinge, die in der Zukunft geplant sind, hängen von diesem kleinen Teil ab.

Wie auch immer, danke für Ihre Meinung - jede Meinung ist nützlich und sinnvoll.

ZЫ. Und ja - es ist nicht schlimm, ein funktionierendes Durcheinander von Code zu schreiben, anstatt ständig unvollständige Lösungen, die gedankenlos für die nächsten Aufgaben geschrieben wurden, neu zu schreiben.

Nun, wenn wir sie brauchen, brauchen wir sie. Es wird interessant sein, herauszufinden, warum.

ZЫ. Es wäre nicht schlimm, wenn es Änderungen und Umgestaltungen vermeiden würde, aber das tut es nicht. Was Objekt oder nicht Objekt - alle die gleiche Entwicklung des Konzepts zwingt, eine Menge Dinge neu zu gestalten.

 
Реter Konow:

Nun, wenn sie gebraucht werden, werden sie gebraucht. Ich bin gespannt, wofür.

ZY: Es wäre nicht schlimm, wenn es vor Änderungen und Umgestaltungen bewahren würde, aber das tut es tatsächlich nicht. Ob Objekt oder nicht Objekt - trotzdem zwingt die Entwicklung des Konzepts dazu, viele Dinge neu zu gestalten.

Du trennst die Begriffe "Redesign" und "Erweitern" nicht. Umgestalten heißt, ein fertiges Ding in den Papierkorb zu werfen und ein neues von Grund auf zu schreiben. Und erweitern heißt, dem fertigen Produkt neue Funktionen hinzuzufügen.

In den meisten Fällen wird hier nur etwas hinzugefügt und nicht von Artikel zu Artikel neu geschrieben.
Aber wenn man etwas von Grund auf neu erstellt, muss man in der Tat eine Menge umschreiben. Aber das geschieht hinter den Kulissen der Artikel. Die einzigen beiden Ausnahmen - ganz am Anfang gab es kleine Änderungen an den bereits veröffentlichten, um die Funktionalität aller Bibliothekskomponenten zu erweitern, und jetzt - zunächst - das Testen der Lösung an vereinfachtem Code, und dann - durch einen Artikel - die Erstellung von vollwertigenObjekt-Handelsabfragen, und dann - die Erstellung einer Klasse von Arbeit mit ihnen.
Jetzt wird alles an einem Ort gemacht - in der Handelsklasse. Aber es sollte nicht dort sein - obwohl es Handel ist, aber es ist nicht Handel Methoden - es ist ein Weg der Verwaltung von Handelsmethoden.

 
Artyom Trishkin:

Sie unterscheiden nicht zwischen den Begriffen "neu gestalten" und "erweitern". Umgestalten bedeutet, das fertige Programm wegzuwerfen und ein neues Programm von Grund auf zu schreiben. Erweitern bedeutet, dem fertigen Programm neue Funktionen hinzuzufügen.

In den meisten Fällen wird hier nur etwas hinzugefügt und nicht von Artikel zu Artikel umgeschrieben.
Aber wenn man etwas von Grund auf neu erstellt, muss man in der Tat eine Menge umschreiben. Aber das geschieht hinter den Kulissen der Artikel. Die einzigen beiden Ausnahmen - ganz am Anfang gab es kleine Modifikationen der bereits veröffentlichten, um weitere Funktionalität aller Bibliothekskomponenten zu erweitern, und jetzt - zunächst wird die Lösung auf einem vereinfachten Code getestet, und dann - durch einen Artikel - machen vollwertige Objekte - Handelsanfragen, und dann - eine Klasse der Arbeit mit ihnen.
Jetzt wird alles an einem Ort gemacht - in der Handelsklasse. Aber es sollte nicht dort sein - obwohl es Handel ist, aber es ist nicht Handel Methoden - es ist ein Weg der Verwaltung von Handelsmethoden.

Ich teile alles sehr gut und weiß, wovon ich spreche. Und Sie verstehen nicht, worauf ich hinaus will.

Ihr Bestreben, alles auf der Welt in ein Objekt zu verwandeln, zeigt, dass Sie die konzeptionellen Grenzen nicht kennen. Es gibt keine Regel in OOP, die verlangt, alles in ein Objekt zu verwandeln, aber Sie scheinen das nicht zu wissen.

Überlegen Sie, wie viel Zeit Sie damit verbringen werden, sich mit Objekten zu beschäftigen, deren Notwendigkeit bereits durch die von mir aufgezeigte prägnante und fertige Lösung untergraben wird. Was können Sie sich damit noch einfallen lassen? Ich habe nicht genug Phantasie. Vielleicht haben Sie welche. Machen Sie weiter.

 

Zu der Frage, was zu einem Objekt gemacht werden kann und was nicht.

1. ein Handelsantrag ist ein Objekt.

2. ein schwebender Handelsantrag ist kein Objekt. Warum? Wenn wir sie zu einem Objekt machen, ist sie eine exakte Kopie des Objekts "Handelsanfrage" mit einem einzigen Unterschied - den Wiederholungs- und Löschkriterien. Dies ist ein zu geringer Unterschied, als dass ein schwebender Handelsantrag aus einem Handelsantrag"ausgepackt" werden könnte.

 
Nun, auch eine Meinung.
 
Verstehen Sie die Unterschiede in unseren Ansätzen. Warum die einfache Lösung für Sie nicht funktioniert.

Sie folgen dem Prinzip "alles ist ein Objekt". Ich folge dem Prinzip "alles zum Objekt".

Sie erstellen viele kleine und einfache Objekte, ich erstelle ein großes und sehr komplexes Objekt. Bei meinen Lösungen müssen Sie den Inhalt des Objekts komprimieren, damit es sich entwickeln kann, während Sie bei Ihren Lösungen jedes Objekt mit Inhalt füllen müssen, damit es als gerechtfertigte Einheit stattfinden kann.

Die von mir vorgeschlagene Lösung erfordert keine aufgeschobenen Abfrageobjekte. Ihr nächster Artikel zeigt, was für ein Wirrwarr an Entitäten und deren Beziehungen zueinander Sie um die einfache Aufgabe der Wiederholung fehlgeschlagener Anfragen an den Server herum geschaffen haben.

Es genügt, die unbefriedigte Serveranfrage zu wiederholen, aber Ihre Lösung schafft überraschenderweise eine ganze Welt von Entitäten, in der man sich wie in einem Dschungel verirren kann.

Ich bin über diese Programmierpraxis verwundert und nicht sicher, was ich davon halten soll. Auf der einen Seite ist sie bewundernswert, auf der anderen Seite ist sie empörend. Wenn ich Probleme auf diese Weise löse, habe ich nicht genug Leben, um zu tun, was ich will. Deshalb kann ich keine eindeutige Bewertung abgeben.

Eines weiß ich: Wenn Sie an die Wand gedrückt würden und bis morgen Abend eine Lösung verlangten, würden Sie keine Objekte schaffen, sondern meine Lösung verwenden, die nicht schlechter funktionieren würde.


 
Реter Konow:
...Sie erstellen viele kleine und einfache Objekte, ich ein großes und sehr komplexes....

Peter, ist das eine Superklasse? Du kannst reinstopfen, was du nicht reinstopfen kannst? :-) Sie schreiben in Büchern, dass es nicht gut ist.....

Ich möchte Artyom darauf hinweisen, dass Anatoly, als er eine Reihe von Artikeln über Grafiken schrieb, die Struktur der Beziehungen zwischen den Klassen (lies Hierarchie) darlegte. Zum Beispiel.

Artyom, du hast eine großartige Arbeit geleistet. Du könntest ein ganzes Lehrbuch darüber schreiben. An einigen Stellen ist es sogar noch detaillierter als die Dokumentation. Und das ist gut so. Aber manchmal gibt es nicht genug Illustrationen in dem Material. Imho, natürlich...

 
Denis Kirichenko:

Peter, was ist das, Superklasse? Darfst du reinstopfen, was du nicht reinstopfen kannst? :-) Die Bücher sagen, dass es nicht gut ist....

Ich möchte Artyom darauf hinweisen, dass Anatoly, als er eine Reihe von Artikeln über Grafiken schrieb, die Struktur der Beziehungen zwischen den Klassen (lies Hierarchie) darlegte. Zum Beispiel.

Artyom, du hast eine großartige Arbeit geleistet. Du könntest ein ganzes Lehrbuch darüber schreiben. An einigen Stellen ist es sogar noch detaillierter als die Dokumentation. Und das ist gut so. Aber manchmal gibt es nicht genug Illustrationen in dem Material. Imho, natürlich...

Danke dafür.
Die Hierarchiestruktur kommt später - zum Abschluss. Ich will sie nicht noch einmal machen, wenn ich sie plötzlich ändern muss.
 
Denis Kirichenko:

Peter, was ist das, Superklasse? Darfst du reinstopfen, was du nicht reinstopfen kannst? :-) Die Bücher sagen, dass es nicht gut ist....

Alles stellt sich heraus und funktioniert gut. Jedem das Seine.
Ich lese Artikel und kann den "Entitätsgenerator" nicht finden - das Prinzip, nach dem das alles gemacht wird. Ich versuche zu lernen, so zu denken und zu verstehen, warum ich anders denke. Und was ist der Vorteil, wenn man anders denkt (wenn überhaupt). Ich habe Artyom auch von dem Bibliotheksschema erzählt.