腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
木宛城主
专栏成员
举报
124
文章
189345
阅读量
53
订阅数
订阅专栏
申请加入专栏
全部文章(124)
asp.net(19)
架构设计(15)
其他(13)
mvc(13)
数据库(12)
unity(12)
编程算法(10)
powershell(10)
存储(8)
bootstrap(7)
sql(6)
windows(6)
sharepoint(6)
网站(5)
http(5)
iis(5)
java(4)
windows server(4)
list(4)
actionscript(3)
.net(3)
访问管理(3)
缓存(3)
add(3)
c#(2)
go(2)
xml(2)
css(2)
api(2)
express(2)
容器(2)
开源(2)
自动化(2)
网络安全(2)
dns(2)
tcp/ip(2)
安全(2)
ui(2)
对象(2)
机器学习(1)
ios(1)
c++(1)
php(1)
html(1)
jquery(1)
ajax(1)
ecmascript(1)
云数据库 SQL Server(1)
云数据库 Redis(1)
ide(1)
github(1)
linux(1)
apache(1)
文件存储(1)
游戏(1)
分布式(1)
shell(1)
sql server(1)
asp(1)
二叉树(1)
aop(1)
单元测试(1)
敏捷开发(1)
kafka(1)
abstract(1)
app(1)
backup(1)
byte(1)
datagridview(1)
dataset(1)
facebook(1)
factory(1)
gridview(1)
instance(1)
int(1)
it(1)
project(1)
server(1)
service(1)
settings(1)
view(1)
wiki(1)
备份(1)
并发(1)
产品(1)
模型(1)
设计(1)
设计模式(1)
算法(1)
文件上传(1)
线程(1)
序列化(1)
优化(1)
搜索文章
搜索
搜索
关闭
Unity应用架构设计(12)——AOP思想的实践
unity
架构设计
aop
想象一下,当程序所有的业务逻辑都完成的时候,你可能还来不及喘口气,紧张的测试即将来临。你的Boss告诉你,虽然程序没问题,但某些方法为什么执行这么慢,性能堪忧。领会了Boss的意图之后,漫长的排查问题开始了。你会写日志,或者是其他工具来追踪原因。那么如何以一种优雅的形式,并且不侵入业务代码的形式来跟踪呢?这正是本文的内容。 跟踪问题 通过观察,你发现方法Do执行缓慢,可能有性能问题,因为这是一个线上的版本,你无法进行Debug,所以你通过日志的形式来追踪执行步骤: class Foo1 { voi
用户1161731
2018-03-28
1.2K
0
Unity应用架构设计(11)——一个网络层的构建
架构设计
对于客户端应用程序,免不了和远程服务打交道。设计一个良好的『服务层』能帮我们规范和分离业务代码,提高生产效率。服务层最核心的模块一定是怎样发送请求,虽然Mono提供了很多C#网络请求类,诸如WebClient,HttpWebRequest,但考虑到跨平台,这些类不一定适用。不过不用担心,Unity 5.x提供了新的与网络相关类UnityWebRequest用来替代原先的WWW,这是官方推荐的,也是最佳选择。 使用Token进行身份验证 首先我们必须要考虑的是,怎样和Web服务安全的通信。没错,肯定是身份验
用户1161731
2018-03-28
1.4K
0
Unity应用架构设计(10)——绕不开的协程和多线程(Part 2)
架构设计
在上一回合谈到,客户端应用程序的所有操作都在主线程上进行,所以一些比较耗时的操作可以在异步线程上去进行,充分利用CPU的性能来达到程序的最佳性能。对于Unity而言,又提供了另外一种『异步』的概念,就是协程(Coroutine),通过反编译,它本质上还是在主线程上的优化手段,并不属于真正的多线程(Thread)。那么问题来了,怎样在Unity中使用多线程呢? Thread 初步认识 虽然这不是什么难点,但我觉得还是有必要提一下多线程编程几个值得注意的事项: 线程启动 在Unity中创建一个异步线程是非
用户1161731
2018-03-28
1.8K
0
Unity应用架构设计(10)——绕不开的协程和多线程(Part 1)
架构设计
在进入本章主题之前,我们必须要了解客户端应用程序都是单线程模型,即只有一个主线程(Main Thread),或者叫做UI线程,即所有的UI控件的创建和操作都是在主线程上完成的。而服务器端应用程序,也就是我们常见的Web应用程序往往是多线程的,故用户A访问势必不会影响用户B的访问过程。所以对于Web应用而言,多线程的数据同步和并发的管理往往是个头疼的问题。那么对于客户端应用程序而言,就一个人使用,还要需要考虑多线程吗? 是否需要多线程? 这是个好问题,从设备的硬件上,这已不是瓶颈: 学过操作系统的同学肯定
用户1161731
2018-03-28
1.4K
0
Unity应用架构设计(7)——IoC工厂理念先行
架构设计
一谈到 『IoC』,有经验的程序员马上会联想到控制反转,将创建对象的责任反转给工厂。IoC是依赖注入 『DI』 的核心,大名鼎鼎的Spring框架就是一个非常卓越的的控制反转、依赖注入框架。遗憾的是,我们显然不能在Unity 3D中去使用Spring框架,但思想是相通的——IoC也好,控制反转也罢,本质上是一个工厂,或者又被称为容器,我们可以自己维护一个工厂来实现对对象的管理,这也是本文的核心内容。 工厂模式初探 工厂,顾名思义,就是生产对象的地方。如果之前没有接触过设计模式,你可能会疑惑,我直接使用 『
用户1161731
2018-03-28
854
0
Unity应用架构设计(8)——使用ServiceLocator实现对象的注入
unity
架构设计
java
对象的 『注入』 是企业级软件开发经常听到的术语。如果你是一个 Java 程序员,一定对注入有着深刻的映像。不管是SSH框架还是SSM框架,Spring 全家桶永远是绕不过去的弯。通过依赖注入,可以有效的解耦应用程序。在uMVVM框架中,我提供了另外一种对象注入的方式,称为Service Locator 『服务定位模式』 。与Spring的依赖注入不同的是,Service Locator 内部以字典的形式维护了对象的依赖关系,外部通过Key的形式获取 『Resolve』 到对应的Value,从而达到解耦。
用户1161731
2018-01-11
886
0
Unity应用架构设计(9)——构建统一的 Repository
unity
架构设计
存储
谈到 『Repository』 仓储模式,第一映像就是封装了对数据的访问和持久化。Repository 模式的理念核心是定义了一个规范,即接口『Interface』,在这个规范里面定义了访问以及持久化数据的行为。开发者只要对接口进行特定的实现就可以满足对不同存储介质的访问,比如存储在Database,File System,Cache等等。软件开发领域有非常多类似的想法,比如JDBC就是定义了一套规范,而具体的厂商MySql,Oracle根据此开发对应的驱动。 Unity 中的Repository模式 在
用户1161731
2018-01-11
850
0
Unity应用架构设计(5)——ViewModel之间如何共享数据
unity
架构设计
对于客户端应用程序而言,单页应用程序(Single Page Application)是最常见的表现形式。有经验的开发人员往往会把一个View分解多个SubView。那么,如何在多个SubView之间 『共享数据』 是一个很棘手的事情。又因为ViewModel才是真正为View提供数据来源,所以本质上『共享数据』指的是多个ViewModel之间共享同一块数据控件。 JavaScript中的原型链 谈到『共享』两字,脑海里跳出第一个印象就是『继承』。对吧,因为你是父母的孩子,所以理所当然你可以和父母共享家中
用户1161731
2018-01-11
1.3K
0
Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)
unity
架构设计
在我们设计和开发应用程序时,经常要用到控件。比如开发一个客户端WinForm应用程序时,微软就为我们提供了若干控件,这些控件为我们提供了可被定制的属性和事件。属性可以更改它的外观,比如背景色,标题等,而事件可以丰富控件的行为,比如最常见的『按钮点击』,谁也不能确定点击之后将发生什么事,是连接数据库呢还是弹出警告框,在不同的场景下,『按钮点击』 的行为往往呈现不一致。所以,与其举棋不定,还不如把处理委托给开发者,这就是『OnClick』事件。 SubView行为多变性 在上篇文章中,我阐述了为什么要使用Su
用户1161731
2018-01-11
656
0
Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 1)
unity
架构设计
『可复用』这个词相信大家都熟悉,通过『可复用』的组件,可以大大提高软件开发效率。 值得注意的事,当我们设计一个可复用的面向对象组件时,需要保证其独立性,也就是我们熟知的『高内聚,低耦合』原则。 组件化设计的思路 不管是开发客户端应用程序还是开发服务器端应用程序,『组件』这个词我们并不陌生。不管是在iOS中的xib,还是在AngularJS的Component,或者后端开发的 User Control,可复用的组件是面向对象开发的基础。所以在Unity 3D 框架设计时,组件化是核心的概念。那么如何去设计S
用户1161731
2018-01-11
1.1K
0
Unity应用架构设计(6)——设计动态数据集合ObservableList
unity
架构设计
什么是 『动态数据集合』 ?简而言之,就是当集合添加、删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面。有经验的程序员脑海里迸出的第一个词就是 ObservableCollection。没错,它在WPF中盛行其道,通过它开发者可以很方便的达到动态更新界面。要在Unity 3D中使用ObservableCollection还是有些许困难的,因为Mono并不提供ObservableCollection类。但实际上,自己动手去构建一个『动态数据集合』也非难事,核心在于怎样去传播通知。这也是本篇博客的
用户1161731
2018-01-11
1.2K
0
Unity应用架构设计(3)——构建View和ViewModel的生命周期
unity
架构设计
数据库
对于一个View而言,本质上是一个MonoBehaviour。它本身就具备生命周期这个概念,比如,Awake,Start,Update,OnDestory等。这些是非常好的方法,可以让开发者在各个阶段去执行自定义的代码。但唯一遗憾的事,这些方法是有引擎调用,并且颗粒度不够细。本文将谈谈怎样构建View和ViewModel的生命周期。 View的生命周期 举个栗子,一个View的显示会有如下过程: 初始化操作 激活当前对象,SetActive(true) 显示当前对象,包括localScale=Vector
用户1161731
2018-01-11
1.1K
0
Unity应用架构设计(13)——日志组件的实施
unity
架构设计
对于应用程序而言,日志是非常重要的功能,通过日志,我们可以跟踪应用程序的数据状态,记录Crash的日志可以帮助我们分析应用程序崩溃的原因,我们甚至可以通过日志来进行性能的监控。总之,日志的好处很多,特别是对Release之后的线上版本进行异常的跟踪。 日志存储的分类 在平常开发时,我们通常喜欢在Debug模式下进行调试,通过断点,可以跟踪数据的变化。除了调试,另一种直观的方式是使用控制台输出,比如Java的system.out.println(),.NET的Console.WriteLine(),Swif
用户1161731
2018-01-11
989
0
Unity应用架构设计(2)——使用中介者模式解耦ViewModel之间通信
unity
架构设计
当你开发一个客户端应用程序的时候,往往一个单页会包含很多子模块,在不同的平台下,这些子模块又被叫成子View(视图),或者子Component(组件)。越是复杂的页面,被切割出来的子模块就越多,子模块
用户1161731
2018-01-11
1.4K
0
Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 1)
unity
架构设计
初识 MVVM 谈起 MVVM 设计模式,可能第一映像你会想到 WPF/Sliverlight,他们提供了的数据绑定(Data Binding),命令(Command)等功能,这让 MVVM 模式得到
用户1161731
2018-01-11
3.4K
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档