DolphinSmalltalk is a development environment on own dialect of Smalltalk for Windows. Key features is deep integration with native widgets and subsystems of an operating system, including COM and ActiveX, and graphic design pleasant to an eye.
Long time of Dolphin Smalltalk it was available in two options: the conditional and free limited version (community edition) and a paid packet for professional development. The last gave access to all functions, including the advanced editors and the publication of applications in standalone the mode, however cost about four hundred dollars that, for good reason, suited not everyone.
It seems that the company thought again (or there was nothing to lose) and decided to set software free. Under a cat the short description of a development environment and reflection on open source of the future Dolphin Smalltalk.
1 year, 10 months ago In the previous article I told how the object can simply and reliably bear responsibility for the resources.
But there is a set of options of ownership which are not personal responsibility of object:
Resources which are owned by dependences. When using Dependency Injection the object of a class not only should not be responsible for life cycle of the dependences, it just physically cannot do it: dependence can be separated between several clients, dependence can implement IDisposable, and can not implement, but at the same time it can have dependences and so on. By the way, this argument puts an end to any business interfaces expanding IDisposable at once: such interface demands impossible from the implementations — to be responsible for itself and for that guy (dependences)
Resources which under some conditions should not be cleared. It is, for example, bad habit of StreamReader to close underlying Stream by Dispose challenge
Resources which are external in relation to dependence, but are required for the client in the course of its use. The simplest example — a subscription to object events at assignment to its property.
1 year, 11 months ago
In brief, in this article Liskov, about distinction of the contracts NotifyCollectionChangedAction.Reset in. net Framework versions 4 and. net Framework 4.5, and about what of these two contracts true and what — wrong will be a question of the rule of inheritance.
1 year, 11 months ago It would seem, this template is not simply simple, and is very simple, in detail sorted not in one famous book. Nevertheless, still even within one project it often can be implemented differently, creating a zoo from bicycles, crutches and leaks. I want to share the method of implementation which is based on minimization of the invention of bicycles, the maximum reduction of quantity of a code and increase in its expressiveness and transparency.
1 year, 11 months ago
Recently entertaining article with the similar name about the Haskell language caught sight. The author suggested the reader to trace thought of the programmer solving typical OOP a problem but in Haskell. In addition to obvious advantage of expansion of representations of readers that OOP is not "classes" and "inheritance" at all similar articles are useful to understanding of how it is correct to use language. I suggest the reader to solve the same problem, but in the Go language in which by OOP it is implemented unusually too.
1 year, 11 months ago
Several times I encountered on the Internet articles about "component-oriented programming" which general idea is in that to represent each difficult object as a set of independent functional blocks — components.
In the theory it sounds very interestingly: all independent, small, difficult objects — only different combinations from simpler. Recently decided to try to write system which will work under such laws, and everything was not so trivial. Behind details I invite under kat.
Sometimes articles which want to be translated just for a name come across. It is even more interesting when such article can be useful to different languages specialists, but contains examples on Java. Very soon we hope to share with you our latest idea concerning the edition of the big book about Java for now we suggest to study Martin Fowler's publication of December, 2014 which still was not translated into Russian. Transfer is made with small reductions.
2 years ago
Hello! You are welcomed by edition of the site GeekBrains.ru, service of online training in programming. We have decided to get the blog on Habré! Are sure that else we will manage to tell and discuss many programming, interesting from the world, IT and online education. But we will begin very simply, without special preludes, with the overview of free course on bases C# and OOP from one of our pupils. The slogan of course says "The difficult concept simple words". Let's look as far as it is true.
2 years agoCQRS — quite well studied pattern. It is often possible to hear that you either follow CQRS, or is not present, meaning that it something like binary choice. I would like to show in this article that there is range of variations of this concept and also as the different CQRS types can look in practice.