千万不要在module里扩展较多逻辑,很容易引起项目异常。
NOP项目
为保持紧跟NOP更新,项目组坚持不改NOP源码。
以触发器,插件化开发为拓展模式
NOP自定义好的接口或完全独立的新拓展功能很容易插件化。
但部分功能要在NOP原项目上扩展修改在不改源码的要求下非常不易。
能改原码也就10分钟的事,但因为死守不改源码的规定,逻辑要更绕,更费精力,工作量更大,并且有很多风险。
为了扩展将部分逻辑写在Module里,Module严重影响性能。
功能开发前,个人的建议,是直接改某处,写日志,后期有更新再按日志改就可以,这种修改的量不会太大。
项目组不接受,因此提出可以改全局module来扩展。
之后爽歪歪,各种绕,起初只写一小部分逻辑,后期不断的添加。
今日报错。
因采用IIS全局模式。
module内有选择或cookie或session的操作一部
JS,CSS静态页面,api,也经过module,但此两类访问,无cookie session。
初版忘记加静态页验证,导致访问静态页时,因null异常,静太文件无法加载,导致页面样式和效果全丢失。
api更是诡异,api也曾因session报错,其本身无session属性,但古怪之处在于,如果以一个普通的账号登陆。再经module调用api,那么session是有值的。
当然,此session与api无关,除了由同一台终端访问。
api的session原本为空,不可调用
但若在同一终端以账号登陆,则session有值,且=此用户的session
现是全局正则检测是否为静态文件(损性能,且可能会有遗漏不说)
并验证是否有session。
JS和静态页面经Module的问题,后期可以配置nginx静态缓存来避免访问web服务(也就在走module前直接从nginx拿到)
插件开发,只需对自已的插件负责,即使错,也只是在小范围。
搞Module开发,一个未考虑到的小错就会出现大量错误,以致网站崩溃,费力且严重不讨好。
PS,公司项目新上,但尚无独立的测试环境。
千万不要在module里扩展较多逻辑,很容易引起项目异常。的更多相关文章
- 利用Visual Studio 2017的扩展开发(VSIX、ItemTemplate) 快速实现项目的半自动化搭建
目录 0.引言 1.什么是Visual Studio项目模板 2.IWizad接口 3.通过Visual Studio扩展开发实现领域驱动开发 3.1 使用VSIX+ProjectTemplate创建 ...
- (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍
场景:最近在学习Linux的基础知识,不可避免的设计到Linux的磁盘分区,以前做过总结,但是那种总结就是复制别人的文章,总结完就不想看第二遍,所以很容易就遗忘了!清楚明白的理解分区后,我就可以在自己 ...
- Linux主分区,扩展分区,逻辑分区的联系和区别
主分区,也称为主磁盘分区,和扩展分区.逻辑分区一样,是一种分区类型.主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的 ...
- [转]硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等)
http://xu3stones.blog.163.com/blog/static/205957136201210309424303 主分区,扩展分区,逻辑分区,活动分区,系统分区,启动分区..... ...
- Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)
这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) ...
- 控制面板里找不到“应用程序server”这个项目,Windows XP中金蝶安装时无“应用程序server”的解决的方法
要注意先安装IIS,再安装VS2008. 我们会常常在控制面板里找不到"应用程序server"这个项目.我们须要依照以下的步骤来操作就会Ok. 1.下载IIS6,放置到D盘根文件夹 ...
- angularJS module里的'服务'
首先,为了举栗子,先写好如下的模型,控制器,html: html: <!DOCTYPE html> <html ng-app="serviceApp"> & ...
- angular学习笔记(十五)-module里的'服务'
本篇介绍angular中的模块:module 在笔记(二)http://www.cnblogs.com/liulangmao/p/3711047.html里已经讲到过模块,这篇主要讲模块的 '服务' ...
- Python如何在子类里扩展父类的property?
<python cookbook>8.8节讨论子类扩展property时,一开始都晕了,思考了半天才勉强弄懂一点,赶快记下来.废话不多说,先上代码: class Person: def _ ...
随机推荐
- 计蒜客 引爆炸弹(DFS、并查集)
在一个 n×m 的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地图上的所有炸弹,需要手动 ...
- selenium滚动条应用,爬永远讲不完的故事
from selenium import webdriver class Lj(object): def __init__(self): self.driver = webdriver.Chrome( ...
- jsp动作标签学习
<jsp:useBean> <jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象,如果存在则直接返回该JavaBean对象的引用,如果不存在则实 ...
- Storm 重启排查
Storm实战常见问题及解决方案 https://www.cnblogs.com/catkins/p/5302634.html Storm 重启排查(续) https://www.iteye.com/ ...
- GetCharWidth32
#include <windows.h> #include<stdio.h> // 窗口函数的函数原形 LRESULT CALLBACK MainWndProc(HWND, U ...
- Matlab高级教程_第四篇:Matlab高级函数_关键词:drawnow,addpoints,animatedline,getpoints
0. MATLAB真实航母基本的工具,其中的函数/工具不计其数,而且有些函数/工具非常的炫酷.在MATLAB第四篇章把平时工作中用到的些许函数进行使用的讲解 主题1.:drawnow 解释:更新图窗并 ...
- [USACO09MAR]向右看齐Look Up(单调栈、在线处理)
https://www.luogu.org/problem/P2947 题目描述 Farmer John's N (1 <= N <= 100,000) cows, convenientl ...
- 8)post方式提交和简单那处理
带有htmll的代码: 实现简单的计算器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- 云服务器上安装MSF环境
在校园网内,禁止使用路由器之类的,所以就导致自己本地虚拟机环境出现各种各样的网络问题,解决起来过于繁琐,为此在服务器上安装MSF 0x00 安装MSF 使用Xshell等工具连上远程服务器后,首先确保 ...
- 静态、动态cell区别
静态cell:cell数目固定不变,图片/文字固定不变(如qq设置列表可使用静态cell加载) 动态cell:cell数目较多,且图片/文字可能会发生变化(如应网络请求,淘宝列表中某个物品名称或者图片 ...