ATK系列库说明
初衷
重构和复用是软件的一个古老话题。
在日常的软件项目开发的过程序中,如何保证团队代码的强健,同时在不断变化的需过程中最大限度的保障代码的一致性,是项目开发中的难以控制的,我们可以借助各种源码管理和标准工作流程制度和增加各种岗位人手来进行控制,但随着时间的推移,由于各种水平的开发人员,加入各种藕合的非藕合的功能,代码变得难以管理。
但市场和客户对我们的软件总是看起来让人不可理喻,当我们信心满满的把软件产品交付给我们客户时依然要应对各种指责,有的需求反复,“不,这完全没有达到我们当时的需求,和我想的不一样”,在不断的变化,不断的反复,代码被修改得面目全非,团队陷于无助之中。
从实际的管理中,我们不能完全消除代码的藕合、代码的混乱,每一个程序员心中都有自己的江湖,所谓“文无第二、武无第一”,每个程序员都会认为自己的代码是没有任何问题的。作为项目的管理者,只能最大限度的降低程序人员的人为因素来的变化,让标准化的代码在项目占有越大的份量,如果这是标准代码是由工具产生,那么在需求发生变化时,重购代码也变得非常轻松且易控。
如果在构建项目之初的与客户需求交流中,以工具来生成标准代码并因此为用户快速构建一个可见的Demo,那么项目需求就会变得更加明确、易控。尽管这与最终交付的产品还有很大的差距,但仍然可以减少客户需求的明确性。如果我们把可控代码与非控代码在生产时进行分离,那么当后期客户需求变化时,仍然可以让工具重构变化的需求。
让技术优秀的人员构建基础库,变把日常开发中用的常用功能模板化,这样,框架-工具-模板,就会在团队中成为技术、经验的容器,让再开发变得更加容易、可控、稳定。我们不需要把大把的时化在那些重复且繁重的属性代码编写,并不断的进行各种属性的拷贝,在需求变更时,又化大量时间云矫正。我们应该让更多时间去与客户交流业务需求,编写强健的应用设计上,那么我们应该使用正确的框架、同时逐渐累积可复用的功能支持库,并使功能模块低耦合,使用代码工具将各种功能调用模板化,这样不仅保证了编码上的一至性,同时最大限度降低编码的劳动强度,减少重复简单代码所消耗宝贵的时间,也能使组织和团队在协调技术的一至上化更少的时间和金钱的投入。
一个好的架构能应对不同的应用需求,但是没有一个可行的,万能的架构,不然我没在这里就不用讨论架构的问题了。这里不仅是代码的问题,随着时间的推移,各种编程技术的进步,让一些原本复杂的问题变得简单,功能更容易实现,而客户需求总是贪婪的,所要求的更加复杂,使得新的需求产生,技术实现同样的需要更多的精力和时间,就因为如此,我们不应该同时也没必要把时间和精力耗在无尽的重构中,而应该让编写代码更加工具化、模板化换个比较时尚的词,更加智能化。
ATK 系列说明
AtkFrame
- 其核心是:Atk.DataPortal
- 框架业务基础类型;
- 数据门户;
- 业务操作简化;
- 业务操作权限的处理;
二、CodeToolSolution
实现目标:
- 快实现基于Atk.DataPortal为基础框架的业务代码;
- 通过自定义模板,生成非标准的业务代码
三、 SqlRepoEx
轻型的ORM处理库,基于开源的SqlRepo库的二次开发;
- 解决前端为强类型操作,数据操作时为基本的SQL语句之间的无缝转换;
- 减少数据层操作的复杂度;
- 简化分布式服务时数据操作;
四、ExpressionTurn
Lambda表达式转SQL语句类库
- 本功能类库主要提供给代码中使用Lambda表达式,后需转成SQL的条件语句这一需求;
- 解决条件状态下Lambda拼凑条件语句;
- 本类库不能解析Linq语句、不能解析SQL中的Select部分。但SqlRepoEx解决了这个问题
以上各库、工具会在接下的博客中进行更细仔说明。
---------------------------------------
ATK
1、一个完整支持分布式服务框架;
2、代码生成工具,可快速生成基于服务框架的应用;
3、其他支持库
4、完整代码可在GitHub的https://github.com/azthinker ;开源中国 https://gitee.com/azthinker
目标:使应用开发,低代码、高效率、快迭代
有兴趣的请在QQ群中参与讨论、联系作者 QQ群名称:ATK高效开发 ,QQ群号:747049962
也可发邮件至:azthinker@sina.com
Demo中的数据库、编译好的代码工具链接:https://pan.baidu.com/s/1B9RQm7_-SFyhLb_HLIGs0w 密码:85q6
ATK Demo使用的数据库 : https://download.csdn.net/download/xftyyyyb/10675497
ATK自动代码工具 :https://download.csdn.net/download/xftyyyyb/10675490
ATK系列库说明的更多相关文章
- ATK系列库介绍
1.一个完整支持分布式服务框架: 2.代码生成工具,可快速生成基于服务框架的应用: 3.其他支持库 4.完整代码见https://github.com/azthinker 目标:使应用开发,低代码.高 ...
- STM32入门系列-库目录及文件介绍
已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链 ...
- STM32入门系列-库帮助文档使用
在前面文件夹介绍时,提到了stm32f10x_stdperiph_lib_um.chm文件,此文件是库函数使用帮助文档,可以直接打开如下图. 因为STM32库函数非常多,我们不可能把所有的外设函数都记 ...
- 教程:关于如何通过Maven仓库安装Spire系列的 Java产品
Spire系列库中已发布的Java产品目前有三个,即Spire.PDF for Java.Spire.Presentation for Java.Spire.Barcode for Java.使用该J ...
- ATK 设计框架 之 Atk.CustomExpression
在ATK-DataPortal框架中的xxxHandel中常用到的一种类型,形如: 1.protected virtual D ItemHandle(D item, Func<E, E> ...
- Cookiecutter: 更好的项目模板工具:(1)简介及可用资源汇总
原文档地址:https://cookiecutter.readthedocs.io/en/latest/ 本系列只介绍cookiecutter的基础使用,而且会删除与功能使用无关的部分.深度使用及了解 ...
- 部分rpm包总结描述
acl-2.2.51-15.el7.x86_64 Commands for Manipulating POSIX(可移植操作系统接口 of unix) Access Control Lists.有ge ...
- Android Support Library
title: Android Support Library tags: Support Library,支持库 grammar_cjkRuby: true --- DATE: 2016-5-13. ...
- MVVM架构的一次实践,重写iOS头条客户端
前言: 一个iOS头条APP,使用MVVM架构实现,代码中有注释,封装了AFN网络请求,解媾代码,使用起来非常方便.用最经典的TableView展示,后续不断更新,喜欢就star或fork一下,有问题 ...
随机推荐
- C#中三个关键字params,Ref,out
关于这三个关键字之前可以研究一下原本的一些操作 using System; using System.Collections.Generic; using System.Text; namespace ...
- 通过js操作样式(评分)
<style> td{ font-size:50px; color:yellow; cursor:pointer; } </style> <script type=&qu ...
- Csharp: FreeTextbox 编辑器控件运行时错误: 'FTB_ResizeGalleryArea' 未定义
ftb.imagegallery.aspx 改一下代码: <form id="Form1" runat="server" enctype="mu ...
- Vue element-ui:滚动条 分页 禁用选项
1.滚动条设置: <el-scrollbar style="height:100%;">.......</el-scrollbar> 默认会同时出现水平和垂 ...
- echarts解决一些大屏图形配置方案汇总
本文主要记录使用echarts解决各种大屏图形配置方案. 1.说在前面 去年经常使用echarts解决一些可视化大屏项目,一直想记录下使用经验,便于日后快速实现.正好最近在整理文档,顺道一起记录在博客 ...
- CKEditor的使用
需要配置的功能列表 //class: cke_button( 按钮 ) , ck_combo(下拉) /* 需要配置的功能列表 document:保存(save).新建(newpage).预览(pre ...
- 深入理解Javascript之执行上下文(Execution Context)
在这篇文章中,将比较深入地阐述下执行上下文 - Javascript中最基础也是最重要的一个概念.相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么,为什么某些函数 ...
- zookeeper的JavaAPI
org.apache.zookeeper.Zookeeper Zookeeper 是在 Java 中客户端主类,负责建立与 zookeeper 集群的会话,并提供方法进行操作. org.apache. ...
- The content of element type "bean" must match "(description?,(constructor-arg|property|lookup-method|replaced-method)*)".
开发中,总有一下奇奇怪怪的问题 完整的错误就不贴了,异常提示: hibernate.xml] is invalid; nested exception is org.xml.sax.SAXParseE ...
- 【LOJ6052】「雅礼集训 2017 Day11」DIV(杜教筛)
点此看题面 大致题意: 求\(1\sim n\)内所有满足\(a>0\)的约数\(a+bi\)的\(a\)之和. 解题思路 首先,我们设\(x=(a+bi)(c+di)(1\le x\le n) ...