LCLFramework框架之开发约束

Entity编写



1:所有的实体类都必须继承DomainEntity

2:所有的表都必须有 ID

3:所有表的关系字段必须是ID

[Serializable]

public class User: DomainEntity

{

//public string Name { set; get; }

}
具体的Entity关系编写请查看LCLFramework实体关系

服务编写:



[Serializable]

pulic class UserService:FlowService

{

}

 扩展仓库:



public interface IUserRepository : IRepository<User>

{

}

public class UserRepository : EntityFrameworkRepository<User>, IUserRepository

{

public UserRepository(IRepositoryContext context)  : base(context)

{

}

public User GetBy(string username, string password)

{

var users = base.Get(e => e.Code == username && e.Password == password);

if (users.Count() > 0)

{

return users.ToList()[0];

}

return null;

}

}

插件编写:



//表示当前程序集是一个插件

public class LibraryPlugin : LCLPlugin

{

public override void Initialize(IApp app)

{

//在这里初始化插件本身

/*

初始化IOC:

ServiceLocator.Instance.Register<IRepository<Org>, EntityFrameworkRepository<Org>>();

初始化菜单:

CommonModel.Modules.AddRoot(new MvcModuleMeta

{

Label = "区域管理",

Bundle = this,

Children =

{

new MvcModuleMeta{Label = "小区管理",

EntityType=typeof(VillageController),    //查询需要权限控制的action                        CustomUI="/UIShell.AreaManagementPlugin/Village/Index"},

}

});

*/

}

}

时间: 2025-01-13 00:20:35

LCLFramework框架之开发约束的相关文章

LCLFramework框架 1.1 Pre-Alpha 源码公布

LCLFramework 框架简要说明: LCL 是一个管理类软件的快速开发框架,其目标主要专注于:1. 快速开发:    DDD.界面自动生成.数据库自动生成与升级.易用的业务逻辑编写框架.2. 产品线工程:    插件化业务模块积累(内置一个权限控制插件模块).客户化二次开发.实施配置平台.3. 一套代码,可同时生成并运行 C/S.单机版.B/S 三种应用程序.    C/S版本 与 单机版 代码重用率 100%.    C/S版本 与 B/S版本 重用服务端代码(完全重用服务层以下代码.结

LCLFramework框架之Plugin模式

Plugin模式在示例中的实际目的小结一下 Plugin模式是架构模式,在设计架构时,才有参考价值: Plugin模式主要是实现单一职责的封装,和扩展应用程序: Plugin与扩展的区别 插件稍不同于扩展(extension),插件通常依赖于主应用程序的接口,有一个它们可以运行的确定的界限.扩展则通常有更少的限制,也可以提供它们自己的接口.相同的是,它们通常都用来减少主应用程序的大小.提供一些可选的功能. 这里不得不提到Mozilla Firefox 和相关软件.它们使用一个叫做Add-on的名

LCLFramework框架之Repository模式

Respository模式在示例中的实际目的小结一下 Repository模式是架构模式,在设计架构时,才有参考价值: Repository模式主要是封装数据查询和存储逻辑: Repository模式实际用途:更换.升级ORM 引擎,不影响业务逻辑: Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的数据库存取,可以成倍地提高测试用例运行速度. Repository与Dal的区别 Repository是DDD中的概念,强调Repository是受Domain驱动的,Re

使用 CodeIgniter 框架快速开发 PHP 应用(三)

原文:使用 CodeIgniter 框架快速开发 PHP 应用(三) 分析网站结构 既然我们已经安装 CI ,我们开始了解它如何工作. 读者已经知道 CI 实现了MVC式样. 通过对目录和文件的内容进行分类, 而不是让代码大块大块地纠集在一起. 这一章,我们将会对 MVC 理论做个简短的介绍, 然后再介绍 CI 的MVC实现方式.特别地,要了解那些目录和文件如何互相交换信息?网站结构是怎样的?以及CI是如何自如地动作于其中的? 这一章将会介绍: .MVC 如何架构一个动态网站 .CI如何接收和分

php的yii框架下开发环境xampp,vim,xdebug,DBGp的搭建

php的yii框架下开发环境xampp,vim,xdebug,DBGp的搭建 选择Linux桌面环境Deepin2014.1下开发网站的理由很简单,能截图,有搜狗输入法,可以WPS文档记录,终端下复制粘贴很容易,相比ubuntu,fedora死机次数少了,对,就是不用折腾,自带的. 先说vim和DBGp插件. Deepin2014.1简体中文,自带的vim7.4版本,很多配置已经很适合大陆的人使用了,比如Php和Python的调试支持等,不需要重新编译了.可以节省不少步骤.这里提供一个vim的配

LCLFramework框架之IOC

LCLFramework框架之依赖注入(IOC)职责 依赖注入(Dependency Injection,简称DI) 依赖查找(Dependency Lookup) 控制反转 LCLFramework框架之依赖注入(IOC)设计 网上有很多的IOC框架如何让用户选择自己熟悉的IOC框架了,那LCL就需要提供可扩展的IOC应该如何让框架注入自己熟悉的IOC框架呢? 下图是基本的IOC扩展契约,所有的第三方都要实现IObjectContainer契约,下图中实现了,Unity,TinyIoc两个第三

记一次爬虫框架的开发经历

爬虫是我看过的所有程序中最酷的,因为爬虫可以真正帮你完成一些费事繁琐的工作,比如搜集图片. 咳咳~因为某个网站会把图片打包成种子,发布,并且提供下载,对于老司机来说是省时省力的事情,但是种子是会失效的.有一些很想看的图集想看但是种子失效了,这时候会让人很尴尬,还好,种子没了但是官网图片还在!所以当时就想要是自己写一个爬虫去帮我完成这些另存为图片的工作就好了. 我是想也没想,自己开始筹划. 开始的第一步自然而然是收集一些网页的前端代码(也就是在浏览器里面右键->网页源代码里面查看).因为我要知道这

使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发人员更轻松的打造出功能丰富而且美观的UI界面.开发人员不须要编写复杂的javascript,也不须要对css样式有深入的了解,开发人员须要了解的仅仅有一些简单的html标签.jQuery EasyUI为我们提供了大多数UI控件的使用

基于MINA框架快速开发网络应用程序

1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中.MINA框架的应用比较广泛,应用的开源项目有Apache Directory.AsyncWeb.Apache Qpid.QuickFIX/J.Openfire.SubEthaSTMP.red5