[ 面试题 ] 常见题

by admin on 2018年12月20日

1:自动缓存:抗并发。

对此中小型项目,自动解决抗并发问题,提高网站性能、简化代码,精简架构!

对此大型的高并发大数据量的繁杂工作,缓存依然要进一步细化控制命中率。

View部分

================================================

  1. ###### Android自定义组件实现思路

帧布局(框架布局)FrameLayout,在这些布局中,所有的子元素统统放于这块区域之左上角,并且前面的子元素直接挂在眼前的子元素之上,将前的子元素部分和满遮挡。
线性布局LinearLayout,最常用之相同种布局形式,所有子控件的对齐格局,取决于怎么着定义
orientation的性质:vertical 垂直方向
,倘诺照那种倾向有着的旁控件将仍垂直的法门分布于布局及,每行只同意生一个子元素,horizontal水平方向
,这时子控件将会晤盖水平的大方向分布在布局中。
绝布局AbsoluteLayout,又有何不可称之为坐标布局,可以直接指定子元素的断然地方,这种布局简单直接,直观性强,可是出于手机屏幕尺寸差异比较坏,使用相对化定位的适应性会相比不同。
相对布局RelativeLayout,允许子元素指定它们相对于其父元素或兄弟元素的地点,这是实在布局中极常用之布局形式之一。它灵活性大过多,当然属性也多,操作难度也蛮,属性之间出争论之底可能也杀,使用相对布局时要多开来测试。
报表布局TableLayout,表格布局TableLayout以行的样式管理子元素,每一样实践是一个TableRow布局对象,当然也得是平常的View对象,TableRow里每放一个要素就是同列,总列数由列数最多的那么一行决定。
网格布局 GridLayout,在Android
4.0惨遭,新引入的GridLayout网格布局,GridLayout布局使用虚细线将布局划分也施行,列和单元格,也协助一个控件在实施,列上且发出纵横排列。而GridLayout使用的其实是跟LinearLayout类似的API,只可是是修改了一下息息相关的标签而已,所以对于开发者来说,了然GridLayout依然不行轻之事体。

  • ###### UI中padding和margin的区别

Padding 用来指定组件内的情去组件边界的离;
Margin用来指定控件与控件之间的偏离

  • ###### 哪个组件可以实现手风琴效果,用来贯彻设置界面的类似,实现抽屉效果, 悬浮窗口?

报经:实现手风琴效果(ExpandableListView)
安界面的接近(preferenceActivity)保存到sharedpreference中
抽屉效果(slidingDrawer)组件
泛窗口: PopWindow,可以兑现类似Dialog和菜单的效益

  • ###### gravity与layout_gravity的区别

Gravity用来指定组件内的情相对于组件本身的地点
Layout_gravity用来指定组件相对于其大叔组件的职务

  • ###### 怎么样自定义一个Adapter

累自BaseAdapter实现中的法子,listView在开头绘制的时刻,系统率先调用getCount()函数,依据外的归值拿到listView的尺寸,然后按照是尺寸,调用getView()逐一绘制每一行。如若你的getCount()重临值是0的话语,列表将无呈现同一return
1,就单展现一行。系统来得列表时,首先实例化一个适配器(这里以实例化自定义之适配器)。当手动完成适配时,必
须手动映射数据,这亟需重新写getView()方法。系统以绘制列表的诸一行的时光以调用此措施。getView()有三独参数,position表示将呈现的凡第几尽,covertView是打布局文件中inflate来之
布局。我们为此LayoutInflater的法门以概念好之main.xml文件提取变成View实例用来彰显。然后
将xml文件中之一一零部件实例化(简单的findViewById()方法)。这样虽可以将数据对应到各类零部件上了。可是按钮为了响应点击事件,需要为其填补加点击监听器,这样就是可知捕获点击事件。至此一个自定
义的listView就完成了,现在叫咱回过头从新审视这多少个历程。系统而绘制ListView了,他首先取得
要绘制的是列表的长,然后开绘制第一履,怎么绘制呢?调用getView()函数。在此函数里面
首先取得一个View(实际上是一个ViewGroup),然后再次实例并安装各种零部件,显示的。好了,绘制了这无异于履行了。这再绘制下一行,直到绘完结束。在实际上的运作过程遭到会发觉listView的每一行没有问题了,这是为Button抢夺了listView的纽带,只要布局文件中校Button设置为没典型就是OK了

  • ###### ViewFlipper和ViewPager的区别

1.ViewFilpper类继承给ViewAnimator类。而ViewAnimator类继承给FrameLayout。
查ViewAnimator类的源码可以看来此类的意图如果为其中的View切换提供动画效果。该类有如下几独和卡通片相关的法子。
2.ViewPager用于实现多页面的切换效果,该类存在于Google的兼容包里面,所以在援时记忆在BuilldPath中参加“android-support-v4.jar”

  • ###### View更新页面的五种方法

Activity.runOnUiThread(Runnable)
View.post(Runnable)
View.postDelayed(Runnable,long);
View.postInvalidate();
View.Invalidate();
当得刷新的地点调用handle的sendMessage来发送新闻,然后以handle的getMessage里执行
invaliate 或 postinvaliate

  • ###### 怎么着遵照权重实现布局

//权重和父容器orientation有关
horizontal 指水平方向权重 android:layout_width
vertical 指垂直方向权重 android:layout_height
Layout_weight是线性布局,也就是LinearLayout里面所以到的
在layout_width设置为fill_parent的时候,layout_weight代表的凡你的控件要先行尽可能的不行,但尽量大是有限度的,即fill_parent.
在layout_width设置为wrap_content的时候,layout_weight代表的是您的控件要先行尽可能的小,但以此小是暴发限度的,即wrap_content.

  • ###### 怎么着兑现ViewPager

先期在布局文件中调用v4包下之ViewPager,在java代码中初步化ViewPager,并设置adapter(继承PagerAdapter),再装监听onPageChangeListener

  • ###### SurfaceView实现之原理

SurfaceView,它装有独立的绘图表面,即其不跟这宿主窗口共享同一个制图表面。由于具备独立的绘图表面,由此SurfaceView的UI就得当一个独门的线程中展开行绘制。又由于不占主线程资源,SurfaceView一方面可以兑现复杂而高速的UI,另一方面还要无会合导致用户输入得无顶当时响应

  • ###### PathImage是什么

.9.PNG是安卓开发中的同样栽非常之图片,这种格式的图纸通过ADT自带的编写工具转,使用九宫格切分的章程,使图片匡助于android
环境下之自适应映现。

虽然异步下充斥图片的校官图纸添加到scrollview中,
而需要几列就以scrollview中放置几单linearlayout,在scrollview滑动的之时刻动态的测量linearlayout随机生成linearlayout的万丈

2:水平扩大:零编码。

A:单种数据库扩张及多系列数据库。

B:单机缓存扩张及分布式缓存。

C:单数据库扩展及集群数据库(读写分离)。

统只要简单多安排即可。

其他

================================================

  1. ###### 工作备受什么利用线程池的?

Java通过Executors提供四栽线程池,分别吗:
1)newCachedThreadPool成立一个但缓存线程池,假如线程池长度当先处理要,可灵活回收空闲线程,若无可回收,则新建线程。
2)newFixedThreadPool
创立一个定长线程池,可决定线程最酷并发数,超出的线程会以队中等候。
3)newScheduledThreadPool
创制一个定长线程池,匡助定时及周期性任务尽。
4)newSingleThreadExecutor
创造一个单线程化的线程池,它才会就此唯一的劳作线程来施行任务,保证所有任务仍指定顺序(FIFO,
LIFO, 优先级)执行。

1.throw则是据抛出的一个有血有肉的挺类型。
2.一般性在一个主意(类)的注脚处通过throws注脚方法(类)可能扔来之良音讯,而于形式(类)内部通过throw声明一个实际的雅音讯。
3.throws通常并非展现的破获非凡,可由于系统活动将兼具捕获的慌信息委给上级方法;
throw则用用户自己捕获相关的异常,而后在对这进展连锁包装,最终在拿包装后底非常信息抛出。
假若当艺术中会生坏被放弃来要你而且非期望于这法子体内对斯分外举办拍卖,可以采纳throws在阐明方法的当儿以评释他恐怕相会蒸发来底很。
4.两者地点不同.

  • ###### 如何用SQLite数据库(dictionary.db文件)与apk文件并发布?

解答:可以用dictionary.db文件复制到Eclipse Android工程被之res
aw目录中。所有以res
aw目录中的文件不会面叫压缩,这样可一直领取该目录中的文本。可以将dictionary.db文件复制到res
aw目录中

  • ###### 通过Intent传递一些二进制数据的法来怎么样?

A.以Serializable接口实现连串化,这是java常用的措施
B.实现Parcelable接口,这里Andriod的有些分类比如Bitmap类就已经实现了,同时Parcelable在Android
AIDL中交换数据为非凡宽泛

  • ###### 怎样将一个字符串转换成为URI?

uri uri=uri.parse("content://com.changcheng.provider.contactprovider/contact")

  • ###### SIM卡的EF文件发出啥地方打算?

    SIM卡的文件系统有谈得来之正规,紧假使为与手机通讯,SIM本身可以生出友好之操作系

  • ###### Android中列升级注意的问题

当清单文件之中的android:versionCode和android:versionName有本文件,
客户端同时储存该拔取即版号 (SharedPreferences/Sqlite),
每便打开应用,去检测服务器版本号与本土版本号是否相同,如果不一
致,则由定义对话框提醒是否下载更新

  • ###### 咋样兑现信息推送,有如何措施,各自优缺点,最常使用啊种?

报:实现信息推送的法子暴发五栽,分别是轮询,SMS,C2DM,MQTT,XMPP最常使用的凡XMPP,
我们进行项目时利用的是XMPP协议
1.XMPP协议,它是一律种基于XML的传递协议,具有特别强之灵活性和可扩张性。它的特性是用复杂从客户端转换来了劳务器端。GTalk、QQ、IM等都因而之协议。
2.轮询:客户端定时去服务端取或者保持一个长Socket,从实质讲这一个不让推送,
而是去服务端拽数据。可是落实简单,首要弱点:耗电,浪费用户流量当
3.Google底C2DM,具体不过细说,缺点,服务器在外国,不是颇平稳。
4.经过短信形式, 但是老为难找到免费缺信平台
5.MQTT协议, IBM提供的同一栽推送服务,不顶灵活

  • ###### 咋样决定耗电量

【在偏下状况下耗电相比多:】
1、 大数据量的传。
2、 不鸣金收兵的以网之中切换。
3、 解析大量之文本数据。
【控制耗电量:】
1、
在急需网络连接的次中,首先检查网络连接是否正常,假若没网络连接,那么即使不需要执行相应的次序。
2、 使用功效高的数额格式和分析方法。(fastJson,LoganSquare-master)
3、使用GZIP压缩模式下载数据,能减弱网络流量
4、 其余一些优化措施:A. 回收java对象,特别是较充分的java对如;
B.对定点要求无是无比胜的语尽量不要用GPS定位,可能采纳wifi和走网cell定位即可,GPS定位消耗的电量远远盖运动网稳定;
C.尽量不要动浮点运算;
D.获取屏幕尺寸等信息方可利用缓存技术,不待举办多次请。

  • ###### Gps定位及网稳定的区分

GPS定位要安装权限android.permission.ACCESS_LOCATION_FINE
网稳定要安装权限android.permission.ACCESS_LOCATION_COARSE
就GPS定位于网络稳定于精确度方面又精准,但于快方面略差有,而且GPS定位相符在室外环境下利用,网络稳定于室内,室外都能够。

  • ###### 安卓底系统架构

详尽链接
应用层:使用Java语言举办开之片段应用程序
使框架层:重如若谷歌发布之组成部分操作协理的类库(API框架),开发人士可以行使这一个类库方便之拓次支付,不过当开发时务必服从框架的开发极
系运作库层:当以安卓框架层开展支付时,安卓操作系统会自动使用有c/c++的库文件来支撑所接纳的顺序零部件,使该可再好之吧次服务;
Linux内核层:安卓操作系统首假诺基于Linux内核,程序的安全性,驱动程序,进程管理等于如故因为Linux内核提供。

  • ###### 安卓上安了差不四个浏览器,能否指定页面访问;

经直接发送URI把参数带过去,或者通过Manifest里的intentfilter的data属性

  • ###### Android dvm的进程与Linux的经过, 应用程序的经过是否为和一个定义?

DVM指dalivk的虚拟机。每一个Android应用程序都在它和谐之历程中运作,都装有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux
中的一个过程,所以说得当是跟一个定义。

  • ###### 依据自己的知道描述下Android数字签名。

(1)所有的应用程序都不可以不发数字证书,Android系统不汇合设置一个没有数字证书的应用程序
(2)Android程序包用的数字证书可以是起签约的,不需一个尊贵的数字证书机构签署认证
(3)如果要正式发布一个Android程序,必须用一个恰如其分的私钥生成的数字证书来被程序签名,而非克利用adt插件或者ant工具转的调试证书来宣布。
(4)数字证书都是来有效期的,Android只是以应用程序安装之早晚才晤面检讨申明的有效期。假设程序都安装在系面临,即便证书过期也未相会潜移默化程序的正常效率。

报经:
客户端缓存机制是android应用开发中充裕重要的一致桩工作,使用缓存机制不仅能够为用户节省3G流量,同时在用户体验者为是可怜好的取舍,比如有些情报客户端襄助离线形式,也是因此缓存机制实现之.缓存机制分为两片,一部分凡是文字缓存,另一样组成部分是大抵媒体文件缓存.
亲笔缓存有少数种植实现:
1)可以用与服务器交互拿到的json数据或者xml数据存入sd卡中,并在数据库添加该数量的记录.添加数据库记录时,提供个别独至关首要字段,一个凡是求的URL,另一个即便是本地保存后的文书地方,每一趟加载数据在此以前还谋面基于URL在数据库被检索
2)将JSON数据解析后装入List<Map>对象被,然后一切历List,将数据均写副相应的多少库表结构被,将来每趟向服务器发起呼吁往日好先行在数据库被觅,倘诺发生一贯归回.
大多媒体文件缓存:紧要借助图片缓存
图的缓存能够依照当下日子,时间也名字缓存到SD卡中的指定图片缓存目录,同时数据库中做相应记录,记录道能够以简单只根本字段控制,一个字段是该图形的URL地址,另一个字段是拖欠图片的本机地址.取图片时因URL在数中找寻,假设无则连接服务器下载,下载后还服务器受到作出相应记录
缓存文件去策略:
1.列一个模块于历次客户端自动或用户手动更新的下去相应模块的缓存文件,并再次生充斥新的缓存文件.
2.当设置界面中提供删除缓存的职能,点击后去除本机所有缓存.

  • ###### Ddms和Traceview的区别

DDMS是一个程序执行查看器,在中间可以望见线程和仓库等信息,TraceView是先后性能分析器

  • ###### 程序中的亲和性的领会

1.默伏境况下一个用到的装有Activity都是持有相同之affinity,都是从application中连续,application的affinity默认就是manifest的包名。
2.affinity针对性Activity来说,就像是身份证同等,可以告知所在的Task,自己属于内部的等同各。
3.以场馆:
a:遵照affinity重新为Activity接纳适用的宿主Task;
b:与allowTaskReparenting属性配合;
c:启动Activity使用Intent设置了FLAG_ACTIVITY_NEW_TASK标记。

API(Application Programming
Interface,应用程序编程接口)是一对先行定义的函数,目标是供应用程序与开发人士基于某软件或者硬件的因为看同一组例程的力量,而又凭需访问源码,或明其中工作机制的全面节.
简的话,就是如出一辙仿照只是供应调用的网接口.

  • ###### Android项目之目结构

1)src目录:src(即SourceCode),src目录用来存放应用程序中具有的源代码,代码的源文件一般存放于该目录下之应和的包下。
2)gen目录:gen目录,该目录下一般可是生一个文本,即R文件。该公文夹下边来个R.java文件,R.java是当起项目时自动生成的,定义该型有资源的目录。
3)Android4.1目录:该文件夹下富含android.jar文件,这是一个Java归档文件,其中蕴含构建应用程序所需要的备的AndroidSDK库(如Views、Controls)和APIs。
通过android.jar将团结之应用程序绑定到AndroidSDK和AndroidEmulator,这允许你使用有Android的库和包,且若您的应用程序在万分的环境被调剂。
4)assets目录:该目录存放应用程序中使的标资源文件,如声音视频等,在Android程序中可以经过输入/输出流对拖欠目录中的文本举办读写。
5)res目录:该目录用来存放程序这之所以到之图纸、界面布局文件及XML格式的讲述文件。该目录下爆发差不多少个目录。新建一Android品类,在res目录下一般会发出drawable,layout,valuse三独目录。drawable用来存放在图片资源,目录下一般会起多只目录分别寄存高中没有三栽不同分辨率的图纸,layout目录用来存放在应用程序的界面布局文件,values目录下存放字符串资源,颜色资源,数组资源非凡XML文件。
6)AndroidManifest.xml

  • ###### Manifest中放大什么东西

AndroidManifest.xml是每个android程序中要的公文。它座落整个项目的清目录,描述了package中爆出的组件(activities,services,等等),他们各自的实现类似,各类会为处理的数及起步地方。除了能声称程序中之Activities,ContentProviders,Service(Service)s,和IntentReceivers,还可以够指定permissions和instrumentation(安全控制和测试),四好组件,意图,权限,第三方key,版本号等

  • ###### Application类的打算

Application和Actovotu,瑟维斯(Service)(Service)一样是android框架的一个系组件,当android程序启动时系统会创一个
application对象,用来储存系统的有些信息。通常我们是无需指定一个Application的,这时系统会活动帮咱创制,如若需要成立自己
的Application,也酷简单创设一个接近继承
Application并以manifest的application标签中举办登记(只待被Application标签扩大个name属性把自己的
Application的名字定入即可)。
android系统会为每个程序运行时制造一个Application类的目的都只有创设一个,所以Application可以说凡是单例
(singleton)形式之一个类.且application对象的生命周期是一切程序中尽丰硕之,它的生命周期就等是程序的生命周期。因为她是大局
的单例的,所以在不同之Activity,瑟维斯(Service)中取的靶子依然和一个对象。所以经过Application来进展局部,数据传递,数据共享
等,数据缓存等操作。

  • ###### Activity中 this、getApplicationContext和getActivity的区别

this:代表时,在Activity当中就是象征时底Activity,换句话说即是Activity.this在Activity当中可以缩写为this.
getActivity()指的是于fragment当中调用拿到他四处的Activity
getApplicationContext():生命周期是全体应用,应用摧毁,它才摧毁。

  • ###### asset和res的区别

报:res/raw和assets的相同点:
两岸目录下的文本于包装后会原本封不动的保存在apk包中,不谋面叫编译成二进制。
res/raw和assets的不同点:
1)res/raw中的文本会给射到R.java文件中,访问的时一贯利用资源ID即
R.raw.filename;assets文件夹下的文本不汇合让射到R.java中,访问的时候用AssetManager类。
2)res/raw不得以发目录结构,而assets则可以发生目录结构,也尽管是assets目录下得重建文件夹
3)读取文件资源举例:
宣读取res/raw下之公文资源,通过以下方法拿到输入流来展开摹写操作
InputStream is = getResources().openRawResource(R.raw.filename);
读取assets下之文件资源,通过以下方法得到输入流来开展勾勒操作

AssetManager am = null; 
am = getAssets(); 
InputStream is = am.open("filename");
  • ###### webservice的UDDI是什么

UDDI 是平栽目录服务,公司可动用其对 Web services
举行注册与找。UDDI,英文为 “Universal Description, Discovery and
Integration”,可翻译为“通用描述、发现同合服务”。

  • ###### 程序运行的权能和文件系统权限的分别

运转时权 Dalvik( android 授权) 文件系统 linux 内核授权

  • ###### 对android系统的知情

5大优势:
一、 开放性
仲、 挣脱运营商的羁绊
老三、 丰裕的硬件拔取
季、 不吃外限制的开发商
五、 无缝结合的Google应用
Android的5大不足
相同、 安全和隐私
第二、 首先开卖Android手机的不是无比丰富运营商
其三、 运营商还可以影响至Android手机
季、 同类机型用户减弱
五、 过分依赖开发商少标准配置

  • ###### 手机上运用的传感器来啊

define SENSOR_TYPE_ACCELEROMETER 1 //加速度
define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力
define SENSOR_TYPE_ORIENTATION 3 //方向
define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪
define SENSOR_TYPE_LIGHT 5 //光线感应
define SENSOR_TYPE_PRESSURE 6 //压力
define SENSOR_TYPE_TEMPERATURE 7 //温度
define SENSOR_TYPE_PROXIMITY 8 //接近
define SENSOR_TYPE_GRAVITY 9 //重力
define SENSOR_TYPE_LINEAR_ACCELERATION 10//线性加速度
define SENSOR_TYPE_ROTATION_VECTOR 11//旋转矢量

================================================
【ListView相关解析和面试题】
【关于Android四很组件的竞相关面试题】
【自定义View全解】
【View事件分发】
【自动登录的实现】
复多内容要关注
本身之专题
转载请讲明
初稿链接:
http://www.jianshu.com/users/c1b4a5542220/latest\_articles

唯恐,只是做在开在,就即刻样子了〜〜〜才是答案吧。

音视频

================================================

  1. ###### 简述音乐播放的计及分?

1):MediaPlayer:首要用于广播音频,可以播放视频,不过一般不用该举行视频播放。
2):SoundPool:
紧要用以广播一些短跑的音有些,重要优势是cpu资源占有量低,反应延迟小。

  • ###### 播放视频的实现格局

1)使用系统自带的播放器来播音,指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。
//调用系统自带的播放器
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, “video/mp4”);
startActivity(intent);
2)使用VideoView组件来播音, 可以整合MediaController来实现播控,
只是勿可以随意改变视频的尺寸与职务。
3)使用MediaPlayer和SurfaceView来促成,这种模式很灵巧,可以于定义视频播放的轻重缓急及岗位。

好吧,设计思路对不上来,这虽然出言出口框架来啊亮点吧?

本人了只去,又是者问题,一个在我心头深深留下疤痕的题目。

自身都用尽洪荒之力写了千篇一律首小说,来介绍框架的优势,不过我本记不起来了!

不得不忘掉小说,重新思考了:

1:框架补助多数据库。(对白:补助多数据库的框架到处有吧)

2:嗯,重点框架能管多少由平种数据库转向任意一栽数据库(独白:项目里要混合数据库的景色太少,这力量没有啥觉得)

再想想:

1:框架的缓存集成了Memcache、Redis(对白:集成不是生简单的行情么?)

2:嗯,但客户端从未引用第三正,都是上下一心写的,Json解析都是协调写的(独白:只可以说技术好,但效益未算是亮点)

再想想:

1:框架实现了自行缓存。(独白:缓存有甚特别,Hibernate也来二级缓存,说说而它发生何区别?)

2:嗯,Hibernate的二级缓存没法自动失效,因为它的失灵策略没法处理打定义的sql语句(对白:你是怎么控制的?)

3:嗯,我是透过分析执行的SQL语句,得到语句所提到的表,通过表明这维度来支配的(对白:这非会师发出众多缓存无效问题?表底修改无处不在,能控制及行么?)

4:不克,但得控制列,嗯,所以自己还计划了,可以指定忽略哪些字段的更新不触发缓存失效,也可指定哪些表不需缓存(独白:假如无在SQL层面,在行使规模如何决定缓存失效?)

5:在业务代码控制吧?或者经AOP统一支配?(对白:不是自己惦记要之答案)

6:也得透过数据库来点缓存失效,MSSQL就起供缓存倚重(对白:具体怎么落实啊?)

7:微软的第一手调就吓了,具体原理是通过触发器把修改的数量写入指定的表明,再经过定时器扫表。(独白:也无是自我眷恋使之答案,还时有发生外答案么?)

8:没有了,你说说(独白:从前好像说过,现在想不起来了,说说你不行Aries框架的展现点吧)

一半时辰就多了,亮点仍没有于发出〜〜〜

Aries的亮点?我还未曾过来洪荒之力更叫其写一首框架的优势篇呢,该怎么介绍?

1:嗯,框架就是污染一个表名,就可以自动生成增删改查导入导出,还自定义了同样模拟简单的前端语法,结合后端很轻出(对白:不晓得您说啊,如故拉一下另的吧…..)

 

-------------------重新思考,若仅出一半刻钟,该怎么介绍框架-----------------

 

总结:

经过此次思考,意识及零星单问题:

1:曾当好的著述,不待去报用户怎么好,用了本来了解好以哪。

先是天真的只要了用户率先会师因而,其次假若了用户会口口相传。

2:曾经当经验丰硕就好Hold住满,自由发挥。

于通常出现的问题或现象,与那多少个每一回都随意发生答案,不如深度的想想总括出一致栽于完美的平素答案。

末尾,不精通用了框架的伴侣等是啊感觉?

介绍:CYQ.Data的亮点

思维了1龙,发现亮点效用最多:元数据缓存、AOP、UI交互、调试、模板引擎、Json工具、DB工具、分布式缓存、批量、内存表、文本数据库、防SQL注入、多数据库转换等。

比方一个一个介绍和聊其技术细节,十年之成果,讲三龙三夜也未曾得了!

不过使时光少于,只好摆三独,那我要对该展开抽象总括。

由此一再的想,忽小人暴发己好好,只选人无我有的角度,总括了两只基本:

3:数据结构:自由转移。

A:Json、Xml、实体类:可互转。

B:泛型、字典、集合,与A类:可互转。

C:数据库表与A类、B类:可相互转。

 

感到这样抽象总计后,应该半钟头就是可介绍了要了,哈〜〜

有关星座十二宫殿框架:ASP.NET
Aries(白羊)、Taurus.MVC(金牛)、还有以再度写着的老三星球座Gemini.Workflow(双子)。

欠怎么抽象其牵线,需要差不多几乎独下午亟需我仔细想想〜〜〜

背景:

近年以及阿里底一个术主管风动聊的下,他咨询了这般一个题目:说说你框架的规划思路与长处?

语说,那么些题材,5年前开即径直时出现在眼前,可我并未认真呢它们寻找来了答案!

遂,夜深深,我睡在铺上,用台式机,一边思考,一边打字,试着找寻!

这多少个年来,我之框架或作品,都神速汇聚满十二只了,每个独立都足以说上或多或少天。

可是倘若日独自生一半刻钟,我若怎么介绍也?介绍咋样也?

起在脑公里的框架来两个:CYQ.Data、ASP.NET Aries、Taurus.MVC。

约莫是因最近的生气皆以当时面吧的吧(如当年自家生气花在Qblog一样吧)。

说说您框架的规划思路?

框架的设计思路?哪个框架?我自己挑一个?

倘如讲Aries或Taurus,就务须讲CYQ.Data,因为它们都是冲CYQ.Data的存如存在的。

故此问题虽成对:说说若CYQ.Data框架的计划思路?

自身发好为难对是题材,内心也可以感受及同样丝抗拒这么些题目标想法?

框架是绵长的时刻演进重构而来之,最初期的思路是如此的:

结构一个简的MDataTable体系,传进一个表名,依据数据库链接以到表明结构,再冲实施的列构造出SQL语句执行,把多少读到MDataTable重回。

如上同等句概括了极致早期的笔触,但没计划,简单并无显得。

设一旦说说新型版本的计划性思路,我思不至该怎么表明,因为重构的次数太多矣,几百上千不好了,太多细节,每个细节都单身带有它好的设计思想。

纵使如腾迅最早吗单独是QQ发个音讯,现在发展到生态圈,你说人家是怎统筹本底帝国之?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图