Giter Site home page Giter Site logo

arlibs's Introduction

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 the best way 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.

arlibs's People

Contributors

deerbear avatar

Watchers

James Cloos avatar Gilmar Gomes de Souza Junior avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.