Recently, I snagged a new contract for my business, to provide consulting.
Unfortunately, the customer breached the payment terms of the contract twice within 2 months. As such, I have updated the payment terms of the contract
In addition, I updated the charges to reflect the market situation, when before, I was charging a very very low fee.
In no uncertain terms I told the customer that if they do not sign the agreement, they can find a new vendor.
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes