zoukankan      html  css  js  c++  java
  • 2015.8.17


    2015/8/14 克罗地亚第二狂想曲

    1.
    面向对象分析设计思想,封装,继承,多态把程序耦合度降低。
    易于维护,灵活性高,易扩展,可复用。

    1.8业务的封装,将业务逻辑与界面逻辑分开,使之间的耦合度下降。从而达到易维护或扩展。

    为了提高可维护性,我们可以将代码进行模块化(利用CommonJS之类的方法),或者采用各种各样其他的解耦方法。

    AngularJs 实现请求失败404跳转会登录也拦截器,只需在Service中定义拦截器,然后注入进$httpProvider即可,

    为何要用拦截器?

    任何时候,如果我们想要为请求添加全局功能,例如身份认证、错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段。

    angularJs通过拦截器提供了一个从全局层面进行处理的途径.

    拦截器的核心是服务工厂,通过向$httpprovider.interceptors数组中添加服务工厂。在$httpProvider中进行注册。
    angularJs提供四种拦截器,其中两种成功拦截器(request、response),两种失败拦截器(requestError、responseError)。

    通过两个步骤来使用拦截器
    在.factory()方法中创建拦截器,然后使用$httpProvider在.config()中注册拦截器:
    angular.module("myApp",[])
    .factory("myInterceptor",function($q){
    var interceptor={};
    return interceptor;
    })//第一步

    angular.module("myApp",[])
    .config(function($httpProvider){
    $httpProvider.interceptors.push("myInterceptor");
    });//第二步


    在用户登录的时候,会从后台拿到一个sessionToken,sessionToken在服务端标识了每个用户,并
    且会包含在发送服务端的每个请求中。

    下面sessionInjector为每个捕获的请求添加了x-session-token头

    update tablename set fdname = 0 where fdname is null


    模块
    每一个独立子模块使用唯一的命名约定。
    模块定义

    保持Controller的专一性

    一个view定义一个controller,尽量不要在其它view中使用这个controller。把可重用的逻辑放到factory中,保证controller只服务于当前视图。
    不同的view用同一个controller是非常不科学的,良好的端对端测试覆盖率对于保证大型应用稳定性是必需的。


    cordova build --release android

    keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk alias_name

    zipalign -v 4 android-release-unsigned.apk 北斗360-alpha.apk

  • 相关阅读:
    王老师经验分享
    python解析pdf,读取文字,可识别两栏pdf等
    python LDA处理文章,分类提取数据
    python通过txt文本中提取目录(无论文章是否将目录提取到文章开头)
    mvn打包报错
    java应用内存占用排查
    监控ssl证书到期时间
    gitlab忘记密码
    多个pod共享一个volume
    node节点执行kubectl
  • 原文地址:https://www.cnblogs.com/code-charmer/p/4737195.html
Copyright © 2011-2022 走看看