Giter Site home page Giter Site logo

liuxw7 / autumnframework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sharplog/autumnframework

0.0 1.0 0.0 1.18 MB

Dependency Injection framework for C++, supporting property setter injection and constructor injection

Makefile 1.34% C++ 97.75% C 0.43% Clarion 0.48%

autumnframework's Introduction

autumnframework

This project implements Dependency Injection for C++. It supports property setter injection and constructor injection. It is compiled on multiple platform. It supports POCO (Plain Old C++ Object) and has no constraints on the classes you create. It has no incursion to your program code.

Autumn framework contains two parts:

  • a dynamic library and
  • a wrapper generator named AutumnGen

Autumn use a Small, simple, cross-platform, free and fast C++ XML Parser written by Frank Vanden Berghen to parse config file.

07/26/2007 Ver 0.5.0 released. This version:

  • support multi-inheritance, including direct and indirect inheritance. Indirect inheritance should list base classes in doccomment.
  • add namespace Autumn for Autumn framework.
  • decorate some class member functions with const.
  • other changes, including Issues 1~3

05/21/2007 Ver 0.4.0 released. This version:

  • has AutumnGen, a generator for wrapper files. You needn't now write any code to use Autumn framework, you can generate wrapper files(a head file and a implementation file) from a head file with AutumnGen?.
  • bean support init-method, destroy-method and delete-method attributes.
  • change "type" to "bean", remove "type" element in configure file.

03/26/2007 Ver 0.3.0 released. This version:

  • needn't set property's type or constructor argument's type in configuration file. If set, it will replace the type got with wrapper.
  • bean supports factory-method attribute and multiple factory methods, and don't support overloading.
  • erase bean's attributes: initializable and destroyable. Bean supports init and destroy function however, it's decided by definition of bean wrapper
  • support bean reference.
  • unite IBasicType and ICombinedType into IAutumnType.

03/13/2007 Ver 0.2.0 released. This version supports creating bean using 'instance factory' and 'static factory method' patterns. You can find samples in test project.

03/05/2007 Ver 0.1.0 released. You can download source code here. A simple install guide is here.The code has been compiled on:

  • WindowsXP with Visual C++ 6.0
  • Linux Ubuntu 6.06 with GCC 4.0.3
  • SunOS 5.10 i86pc with Sun C++ 5.8
  • AIX 5L with XL C V7.0

01/16/2007 Ver 0.1.0 beta for Windows VC6 released.

It may be very babyish now, because I don't know Spring well and do this to imitate Spring in a hurry. I will write some docs ASAP. Now, it support:

  • Support property injection and constructor injection.Only two constructors now, one has arguments and one has no argument. The setter function name should be like setXXX where XXX is a property name. You may not obey that rule if you rewrite the file BeanWrapperMacro?.h.
  • Support following basic type: char, short, int, long, float, double, char*, string, and some docrated with unsigned.
  • Support class injection. (A class is named as a bean in Autumn like in Spring.)
  • Support customized type using interface IBasicType.
  • Support pointer to above types.
  • Support singleton.
  • Support initialization and destroyation functions.
  • Support property setter overloading.
  • Supoort dependence(it may be not like Spring).
  • Support multiple dynamic libraries and local library(bean is in main process).
  • Support configuration of log file path and level.

autumnframework's People

Contributors

sharplog avatar

Watchers

 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.