Skip to content

DeerBear/ARLibs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARLibs

Experiments and code that I would like to put in production applications.

What I am trying to do

Essentially, I would like to create a code repository that I can re-use.

Commercial applications

I would like to kindly ask that this code isn't used in commercial applications UNLESS you are an active member of the Delphi community. If you: have posted code yourself in a repository, have an MVP Embarcadero status or in any way actively contribute POSITIVELY to the knowledge of the Delphi community, then feel free to use it commercially. I am mainly concerned with leechers, i.e. people who only take without ever giving back.

#General composition This repository is called "ARLibs" because the idea is - eventually - to have a few of them. Right now there's only one for dialogs.

#General philosophy The guiding principle of this set of libraries and tools is that the developer using them must be mainly exposed with the result rather than the process. To make this clear, think of a dialog: do we want to create it and then show it? Not quite, our main interest is in showing it. By hiding the way it is created, we give more exposure to the result (showing it) than to the process (create it, configure it, etc.). Another core principle is that I am trying to avoid writing custom code as much as possible, so everywhere possible I will prefer standard language constructs/classes over custom made ones. Also, wherever possible, methods should be as short, simple and focused as possible. I am convinced that the easiest way to achieve Single Responsibility within a class is to achieve it inside every method.

#Dialogs You think you got that covered, don't you? :) Yeah, maybe you have a base class, a few methods, maybe even more than that and all works well. Good for you. But then you have to add new ones, you have to remember to add EVERY UNIT, everything must be in place. The framework provided here lets you write code such as this:

var MyDialog : IMyDialog;
begin
  MyDialog := Dialog as IMyDialog;
  MyDialog.Display;
end;

This is only one example usage, the framework is done in such a way that you can actually do almost anything you want.

Interfaces

This project also uses interfaces heavily, showing you how to use them paired to the VCL. It lets you enhance your own code TODAY and see how powerful using interfaces is.

About

Experiments and code that I would like to put in production applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages